Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-pickaxe: work properly in a subdirectory.
author
Jeff King
<peff@peff.net>
Thu, 2 Nov 2006 07:22:49 +0000
(
02:22
-0500)
committer
Junio C Hamano
<junkio@cox.net>
Thu, 2 Nov 2006 08:11:30 +0000
(
00:11
-0800)
We forgot to add prefix to the given path.
[jc: interestingly enough, Jeff King had the same idea after I
pushed mine out to "pu", and his patch was cleaner, so I dropped
mine.]
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-pickaxe.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
62476c8
)
diff --git
a/builtin-pickaxe.c
b/builtin-pickaxe.c
index c9405e918bc5e6da94c61f7fe2cdd00b5da44508..f6e861a26dbda100ea6aeb884ad62c75872a8e76 100644
(file)
--- a/
builtin-pickaxe.c
+++ b/
builtin-pickaxe.c
@@
-1428,6
+1428,13
@@
static unsigned parse_score(const char *arg)
return score;
}
return score;
}
+static const char *add_prefix(const char *prefix, const char *path)
+{
+ if (!prefix || !prefix[0])
+ return path;
+ return prefix_path(prefix, strlen(prefix), path);
+}
+
int cmd_pickaxe(int argc, const char **argv, const char *prefix)
{
struct rev_info revs;
int cmd_pickaxe(int argc, const char **argv, const char *prefix)
{
struct rev_info revs;
@@
-1548,7
+1555,7
@@
int cmd_pickaxe(int argc, const char **argv, const char *prefix)
/* (1) */
if (argc <= i)
usage(pickaxe_usage);
/* (1) */
if (argc <= i)
usage(pickaxe_usage);
- path = a
rgv[i]
;
+ path = a
dd_prefix(prefix, argv[i])
;
if (i + 1 == argc - 1) {
if (unk != 1)
usage(pickaxe_usage);
if (i + 1 == argc - 1) {
if (unk != 1)
usage(pickaxe_usage);
@@
-1566,13
+1573,13
@@
int cmd_pickaxe(int argc, const char **argv, const char *prefix)
if (seen_dashdash) {
if (seen_dashdash + 1 != argc - 1)
usage(pickaxe_usage);
if (seen_dashdash) {
if (seen_dashdash + 1 != argc - 1)
usage(pickaxe_usage);
- path = a
rgv[seen_dashdash + 1]
;
+ path = a
dd_prefix(prefix, argv[seen_dashdash + 1])
;
for (j = i; j < seen_dashdash; j++)
argv[unk++] = argv[j];
}
else {
/* (3) */
for (j = i; j < seen_dashdash; j++)
argv[unk++] = argv[j];
}
else {
/* (3) */
- path = a
rgv[i]
;
+ path = a
dd_prefix(prefix, argv[i])
;
if (i + 1 == argc - 1) {
final_commit_name = argv[i + 1];
if (i + 1 == argc - 1) {
final_commit_name = argv[i + 1];
@@
-1580,7
+1587,7
@@
int cmd_pickaxe(int argc, const char **argv, const char *prefix)
* old-style
*/
if (unk == 1 && !has_path_in_work_tree(path)) {
* old-style
*/
if (unk == 1 && !has_path_in_work_tree(path)) {
- path = a
rgv[i + 1]
;
+ path = a
dd_prefix(prefix, argv[i + 1])
;
final_commit_name = argv[i];
}
}
final_commit_name = argv[i];
}
}