Merge branch 'maint'
* maint: sha1_file.c: resolve confusion EACCES vs EPERM sha1_file: avoid bogus "file exists" error message git checkout: don't warn about unborn branch if -f is already passed bash: offer refs instead of filenames for 'git revert' bash: remove dashed command leftovers git-p4: fix keyword-expansion regex fast-export: use an unsorted string list for extra_refs Add new testcase to show fast-export does not always exports all tags
This commit is contained in:
@ -553,7 +553,7 @@ static int switch_branches(struct checkout_opts *opts, struct branch_info *new)
|
|||||||
if (!opts->quiet && !old.path && old.commit && new->commit != old.commit)
|
if (!opts->quiet && !old.path && old.commit && new->commit != old.commit)
|
||||||
describe_detached_head("Previous HEAD position was", old.commit);
|
describe_detached_head("Previous HEAD position was", old.commit);
|
||||||
|
|
||||||
if (!old.commit) {
|
if (!old.commit && !opts->force) {
|
||||||
if (!opts->quiet) {
|
if (!opts->quiet) {
|
||||||
fprintf(stderr, "warning: You appear to be on a branch yet to be born.\n");
|
fprintf(stderr, "warning: You appear to be on a branch yet to be born.\n");
|
||||||
fprintf(stderr, "warning: Forcing checkout of %s.\n", new->name);
|
fprintf(stderr, "warning: Forcing checkout of %s.\n", new->name);
|
||||||
|
@ -354,7 +354,7 @@ static void get_tags_and_duplicates(struct object_array *pending,
|
|||||||
case OBJ_TAG:
|
case OBJ_TAG:
|
||||||
tag = (struct tag *)e->item;
|
tag = (struct tag *)e->item;
|
||||||
while (tag && tag->object.type == OBJ_TAG) {
|
while (tag && tag->object.type == OBJ_TAG) {
|
||||||
string_list_insert(full_name, extra_refs)->util = tag;
|
string_list_append(full_name, extra_refs)->util = tag;
|
||||||
tag = (struct tag *)tag->tagged;
|
tag = (struct tag *)tag->tagged;
|
||||||
}
|
}
|
||||||
if (!tag)
|
if (!tag)
|
||||||
@ -374,7 +374,7 @@ static void get_tags_and_duplicates(struct object_array *pending,
|
|||||||
}
|
}
|
||||||
if (commit->util)
|
if (commit->util)
|
||||||
/* more than one name for the same object */
|
/* more than one name for the same object */
|
||||||
string_list_insert(full_name, extra_refs)->util = commit;
|
string_list_append(full_name, extra_refs)->util = commit;
|
||||||
else
|
else
|
||||||
commit->util = full_name;
|
commit->util = full_name;
|
||||||
}
|
}
|
||||||
|
@ -647,21 +647,12 @@ _git_branch ()
|
|||||||
|
|
||||||
_git_bundle ()
|
_git_bundle ()
|
||||||
{
|
{
|
||||||
local mycword="$COMP_CWORD"
|
local cmd="${COMP_WORDS[2]}"
|
||||||
case "${COMP_WORDS[0]}" in
|
case "$COMP_CWORD" in
|
||||||
git)
|
2)
|
||||||
local cmd="${COMP_WORDS[2]}"
|
|
||||||
mycword="$((mycword-1))"
|
|
||||||
;;
|
|
||||||
git-bundle*)
|
|
||||||
local cmd="${COMP_WORDS[1]}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
case "$mycword" in
|
|
||||||
1)
|
|
||||||
__gitcomp "create list-heads verify unbundle"
|
__gitcomp "create list-heads verify unbundle"
|
||||||
;;
|
;;
|
||||||
2)
|
3)
|
||||||
# looking for a file
|
# looking for a file
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -809,12 +800,7 @@ _git_fetch ()
|
|||||||
__gitcomp "$(__git_refs)" "$pfx" "${cur#*:}"
|
__gitcomp "$(__git_refs)" "$pfx" "${cur#*:}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
local remote
|
__gitcomp "$(__git_refs2 "${COMP_WORDS[2]}")"
|
||||||
case "${COMP_WORDS[0]}" in
|
|
||||||
git-fetch) remote="${COMP_WORDS[1]}" ;;
|
|
||||||
git) remote="${COMP_WORDS[2]}" ;;
|
|
||||||
esac
|
|
||||||
__gitcomp "$(__git_refs2 "$remote")"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
@ -1058,12 +1044,7 @@ _git_pull ()
|
|||||||
if [ "$COMP_CWORD" = 2 ]; then
|
if [ "$COMP_CWORD" = 2 ]; then
|
||||||
__gitcomp "$(__git_remotes)"
|
__gitcomp "$(__git_remotes)"
|
||||||
else
|
else
|
||||||
local remote
|
__gitcomp "$(__git_refs "${COMP_WORDS[2]}")"
|
||||||
case "${COMP_WORDS[0]}" in
|
|
||||||
git-pull) remote="${COMP_WORDS[1]}" ;;
|
|
||||||
git) remote="${COMP_WORDS[2]}" ;;
|
|
||||||
esac
|
|
||||||
__gitcomp "$(__git_refs "$remote")"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1076,19 +1057,13 @@ _git_push ()
|
|||||||
else
|
else
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
*:*)
|
*:*)
|
||||||
local remote
|
|
||||||
case "${COMP_WORDS[0]}" in
|
|
||||||
git-push) remote="${COMP_WORDS[1]}" ;;
|
|
||||||
git) remote="${COMP_WORDS[2]}" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
local pfx=""
|
local pfx=""
|
||||||
case "$COMP_WORDBREAKS" in
|
case "$COMP_WORDBREAKS" in
|
||||||
*:*) : great ;;
|
*:*) : great ;;
|
||||||
*) pfx="${cur%%:*}:" ;;
|
*) pfx="${cur%%:*}:" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
__gitcomp "$(__git_refs "$remote")" "$pfx" "${cur#*:}"
|
__gitcomp "$(__git_refs "${COMP_WORDS[2]}")" "$pfx" "${cur#*:}"
|
||||||
;;
|
;;
|
||||||
+*)
|
+*)
|
||||||
__gitcomp "$(__git_refs)" + "${cur#+}"
|
__gitcomp "$(__git_refs)" + "${cur#+}"
|
||||||
@ -1368,7 +1343,7 @@ _git_revert ()
|
|||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
COMPREPLY=()
|
__gitcomp "$(__git_refs)"
|
||||||
}
|
}
|
||||||
|
|
||||||
_git_rm ()
|
_git_rm ()
|
||||||
@ -1590,7 +1565,7 @@ _git_tag ()
|
|||||||
-m|-F)
|
-m|-F)
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
;;
|
;;
|
||||||
-*|tag|git-tag)
|
-*|tag)
|
||||||
if [ $f = 1 ]; then
|
if [ $f = 1 ]; then
|
||||||
__gitcomp "$(__git_tags)"
|
__gitcomp "$(__git_tags)"
|
||||||
else
|
else
|
||||||
|
@ -981,7 +981,7 @@ class P4Sync(Command):
|
|||||||
if stat['type'] in ('text+ko', 'unicode+ko', 'binary+ko'):
|
if stat['type'] in ('text+ko', 'unicode+ko', 'binary+ko'):
|
||||||
text = re.sub(r'(?i)\$(Id|Header):[^$]*\$',r'$\1$', text)
|
text = re.sub(r'(?i)\$(Id|Header):[^$]*\$',r'$\1$', text)
|
||||||
elif stat['type'] in ('text+k', 'ktext', 'kxtext', 'unicode+k', 'binary+k'):
|
elif stat['type'] in ('text+k', 'ktext', 'kxtext', 'unicode+k', 'binary+k'):
|
||||||
text = re.sub(r'\$(Id|Header|Author|Date|DateTime|Change|File|Revision):[^$]*\$',r'$\1$', text)
|
text = re.sub(r'\$(Id|Header|Author|Date|DateTime|Change|File|Revision):[^$\n]*\$',r'$\1$', text)
|
||||||
|
|
||||||
contents[stat['depotFile']] = text
|
contents[stat['depotFile']] = text
|
||||||
|
|
||||||
|
@ -2315,7 +2315,7 @@ static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
|
|||||||
filename = sha1_file_name(sha1);
|
filename = sha1_file_name(sha1);
|
||||||
fd = create_tmpfile(tmpfile, sizeof(tmpfile), filename);
|
fd = create_tmpfile(tmpfile, sizeof(tmpfile), filename);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
if (errno == EPERM)
|
if (errno == EACCES)
|
||||||
return error("insufficient permission for adding an object to repository database %s\n", get_object_directory());
|
return error("insufficient permission for adding an object to repository database %s\n", get_object_directory());
|
||||||
else
|
else
|
||||||
return error("unable to create temporary sha1 filename %s: %s\n", tmpfile, strerror(errno));
|
return error("unable to create temporary sha1 filename %s: %s\n", tmpfile, strerror(errno));
|
||||||
|
@ -231,4 +231,12 @@ test_expect_success 'fast-export -C -C | fast-import' '
|
|||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'fast-export | fast-import when master is tagged' '
|
||||||
|
|
||||||
|
git tag -m msg last &&
|
||||||
|
git fast-export -C -C --signed-tags=strip --all > output &&
|
||||||
|
test $(grep -c "^tag " output) = 3
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Reference in New Issue
Block a user