mirror of
https://github.com/git/git.git
synced 2026-03-13 10:23:30 +01:00
Merge branch 'master' of git://repo.or.cz/alt-git
This commit is contained in:
@@ -6,7 +6,7 @@ Updates since v1.5.4
|
||||
|
||||
(subsystems)
|
||||
|
||||
* Comes with git-gui 0.10.0
|
||||
* Comes with git-gui 0.10.1
|
||||
|
||||
(portability)
|
||||
|
||||
@@ -205,9 +205,3 @@ this release, unless otherwise noted.
|
||||
|
||||
* "git imap-send" without setting imap.host did not error out but
|
||||
segfaulted.
|
||||
|
||||
---
|
||||
exec >/var/tmp/1
|
||||
O=v1.5.5-rc3
|
||||
echo O=`git describe refs/heads/master`
|
||||
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
|
||||
|
||||
@@ -22,8 +22,9 @@ archive with specified base-name, or to the standard output.
|
||||
A packed archive is an efficient way to transfer set of objects
|
||||
between two repositories, and also is an archival format which
|
||||
is efficient to access. The packed archive format (.pack) is
|
||||
designed to be unpackable without having anything else, but for
|
||||
random access, accompanied with the pack index file (.idx).
|
||||
designed to be self contained so that it can be unpacked without
|
||||
any further information, but for fast, random access to the objects
|
||||
in the pack, a pack index file (.idx) will be generated.
|
||||
|
||||
Placing both in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
|
||||
any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
|
||||
|
||||
@@ -43,6 +43,11 @@ unreleased) version of git, that is available from 'master'
|
||||
branch of the `git.git` repository.
|
||||
Documentation for older releases are available here:
|
||||
|
||||
* link:v1.5.5/git.html[documentation for release 1.5.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes-1.5.5.txt[1.5.5].
|
||||
|
||||
* link:v1.5.4.5/git.html[documentation for release 1.5.4.5]
|
||||
|
||||
* release notes for
|
||||
|
||||
@@ -103,10 +103,24 @@ Pack file entry: <+
|
||||
packed object data:
|
||||
If it is not DELTA, then deflated bytes (the size above
|
||||
is the size before compression).
|
||||
If it is DELTA, then
|
||||
If it is REF_DELTA, then
|
||||
20-byte base object name SHA1 (the size above is the
|
||||
size of the delta data that follows).
|
||||
delta data, deflated.
|
||||
If it is OFS_DELTA, then
|
||||
n-byte offset (see below) interpreted as a negative
|
||||
offset from the type-byte of the header of the
|
||||
ofs-delta entry (the size above is the size of
|
||||
the delta data that follows).
|
||||
delta data, deflated.
|
||||
|
||||
offset encoding:
|
||||
n bytes with MSB set in all but the last one.
|
||||
The offset is then the number constructed by
|
||||
concatenating the lower 7 bit of each byte, and
|
||||
for n >= 2 adding 2^7 + 2^14 + ... + 2^(7*(n-1))
|
||||
to the result.
|
||||
|
||||
|
||||
|
||||
= Version 2 pack-*.idx files support packs larger than 4 GiB, and
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
GVF=GIT-VERSION-FILE
|
||||
DEF_VER=v1.5.5-rc3.GIT
|
||||
DEF_VER=v1.5.5.GIT
|
||||
|
||||
LF='
|
||||
'
|
||||
|
||||
@@ -1937,21 +1937,24 @@ static int apply_one_fragment(struct image *img, struct fragment *frag,
|
||||
trailing = frag->trailing;
|
||||
|
||||
/*
|
||||
* If we don't have any leading/trailing data in the patch,
|
||||
* we want it to match at the beginning/end of the file.
|
||||
* A hunk to change lines at the beginning would begin with
|
||||
* @@ -1,L +N,M @@
|
||||
*
|
||||
* But that would break if the patch is generated with
|
||||
* --unified=0; sane people wouldn't do that to cause us
|
||||
* trouble, but we try to please not so sane ones as well.
|
||||
* And a hunk to add to an empty file would begin with
|
||||
* @@ -0,0 +N,M @@
|
||||
*
|
||||
* In other words, a hunk that is (frag->oldpos <= 1) with or
|
||||
* without leading context must match at the beginning.
|
||||
*/
|
||||
if (unidiff_zero) {
|
||||
match_beginning = (!leading && !frag->oldpos);
|
||||
match_end = 0;
|
||||
}
|
||||
else {
|
||||
match_beginning = !leading && (frag->oldpos == 1);
|
||||
match_end = !trailing;
|
||||
}
|
||||
match_beginning = frag->oldpos <= 1;
|
||||
|
||||
/*
|
||||
* A hunk without trailing lines must match at the end.
|
||||
* However, we simply cannot tell if a hunk must match end
|
||||
* from the lack of trailing lines if the patch was generated
|
||||
* with unidiff without any context.
|
||||
*/
|
||||
match_end = !unidiff_zero && !trailing;
|
||||
|
||||
pos = frag->newpos ? (frag->newpos - 1) : 0;
|
||||
preimage.buf = oldlines;
|
||||
|
||||
@@ -637,6 +637,8 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
|
||||
if (!strcmp(argv[i], "tag")) {
|
||||
char *ref;
|
||||
i++;
|
||||
if (i >= argc)
|
||||
die("You need to specify a tag name.");
|
||||
ref = xmalloc(strlen(argv[i]) * 2 + 22);
|
||||
strcpy(ref, "refs/tags/");
|
||||
strcat(ref, argv[i]);
|
||||
|
||||
@@ -639,7 +639,9 @@ _git_diff ()
|
||||
--find-copies-harder --pickaxe-all --pickaxe-regex
|
||||
--text --ignore-space-at-eol --ignore-space-change
|
||||
--ignore-all-space --exit-code --quiet --ext-diff
|
||||
--no-ext-diff"
|
||||
--no-ext-diff
|
||||
--no-prefix --src-prefix= --dst-prefix=
|
||||
"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
@@ -696,6 +698,7 @@ _git_format_patch ()
|
||||
--full-index --binary
|
||||
--not --all
|
||||
--cover-letter
|
||||
--no-prefix --src-prefix= --dst-prefix=
|
||||
"
|
||||
return
|
||||
;;
|
||||
@@ -865,7 +868,7 @@ _git_rebase ()
|
||||
return
|
||||
;;
|
||||
--*)
|
||||
__gitcomp "--onto --merge --strategy"
|
||||
__gitcomp "--onto --merge --strategy --interactive"
|
||||
return
|
||||
esac
|
||||
__gitcomp "$(__git_refs)"
|
||||
|
||||
@@ -2064,11 +2064,11 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
|
||||
|
||||
.mbar.commit add command -label [mc "Show Less Context"] \
|
||||
-command show_less_context \
|
||||
-accelerator $M1T-\[
|
||||
-accelerator $M1T-\-
|
||||
|
||||
.mbar.commit add command -label [mc "Show More Context"] \
|
||||
-command show_more_context \
|
||||
-accelerator $M1T-\]
|
||||
-accelerator $M1T-=
|
||||
|
||||
.mbar.commit add separator
|
||||
|
||||
@@ -2715,8 +2715,11 @@ bind $ui_comm <$M1B-Key-v> {tk_textPaste %W; %W see insert; break}
|
||||
bind $ui_comm <$M1B-Key-V> {tk_textPaste %W; %W see insert; break}
|
||||
bind $ui_comm <$M1B-Key-a> {%W tag add sel 0.0 end;break}
|
||||
bind $ui_comm <$M1B-Key-A> {%W tag add sel 0.0 end;break}
|
||||
bind $ui_comm <$M1B-Key-\[> {show_less_context;break}
|
||||
bind $ui_comm <$M1B-Key-\]> {show_more_context;break}
|
||||
bind $ui_comm <$M1B-Key-minus> {show_less_context;break}
|
||||
bind $ui_comm <$M1B-Key-KP_Subtract> {show_less_context;break}
|
||||
bind $ui_comm <$M1B-Key-equal> {show_more_context;break}
|
||||
bind $ui_comm <$M1B-Key-plus> {show_more_context;break}
|
||||
bind $ui_comm <$M1B-Key-KP_Add> {show_more_context;break}
|
||||
|
||||
bind $ui_diff <$M1B-Key-x> {tk_textCopy %W;break}
|
||||
bind $ui_diff <$M1B-Key-X> {tk_textCopy %W;break}
|
||||
@@ -2760,8 +2763,11 @@ bind . <$M1B-Key-t> do_add_selection
|
||||
bind . <$M1B-Key-T> do_add_selection
|
||||
bind . <$M1B-Key-i> do_add_all
|
||||
bind . <$M1B-Key-I> do_add_all
|
||||
bind . <$M1B-Key-\[> {show_less_context;break}
|
||||
bind . <$M1B-Key-\]> {show_more_context;break}
|
||||
bind . <$M1B-Key-minus> {show_less_context;break}
|
||||
bind . <$M1B-Key-KP_Subtract> {show_less_context;break}
|
||||
bind . <$M1B-Key-equal> {show_more_context;break}
|
||||
bind . <$M1B-Key-plus> {show_more_context;break}
|
||||
bind . <$M1B-Key-KP_Add> {show_more_context;break}
|
||||
bind . <$M1B-Key-Return> do_commit
|
||||
foreach i [list $ui_index $ui_workdir] {
|
||||
bind $i <Button-1> "toggle_or_diff $i %x %y; break"
|
||||
|
||||
@@ -9,7 +9,7 @@ msgstr ""
|
||||
"Project-Id-Version: fr\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-03-14 07:18+0100\n"
|
||||
"PO-Revision-Date: 2008-01-14 21:08+0100\n"
|
||||
"PO-Revision-Date: 2008-04-04 22:05+0200\n"
|
||||
"Last-Translator: Christian Couder <chriscool@tuxfamily.org>\n"
|
||||
"Language-Team: French\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -344,8 +344,7 @@ msgstr "Documentation en ligne"
|
||||
#: git-gui.sh:2238
|
||||
#, tcl-format
|
||||
msgid "fatal: cannot stat path %s: No such file or directory"
|
||||
msgstr ""
|
||||
"fatale : pas d'infos sur le chemin %s : Fichier ou répertoire inexistant"
|
||||
msgstr "erreur fatale : pas d'infos sur le chemin %s : Fichier ou répertoire inexistant"
|
||||
|
||||
#: git-gui.sh:2271
|
||||
msgid "Current Branch:"
|
||||
@@ -630,8 +629,7 @@ msgstr "Merci de choisir une branche de suivi"
|
||||
#: lib/branch_create.tcl:140
|
||||
#, tcl-format
|
||||
msgid "Tracking branch %s is not a branch in the remote repository."
|
||||
msgstr ""
|
||||
"La branche de suivi %s n'est pas une branche dans le référentiel distant."
|
||||
msgstr "La branche de suivi %s n'est pas une branche dans le référentiel distant."
|
||||
|
||||
#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86
|
||||
msgid "Please supply a branch name."
|
||||
@@ -751,7 +749,7 @@ msgstr "Récupération de %s à partir de %s"
|
||||
#: lib/checkout_op.tcl:127
|
||||
#, tcl-format
|
||||
msgid "fatal: Cannot resolve %s"
|
||||
msgstr "Erreur fatale : Impossible de résoudre %s"
|
||||
msgstr "erreur fatale : Impossible de résoudre %s"
|
||||
|
||||
#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31
|
||||
msgid "Close"
|
||||
@@ -798,12 +796,9 @@ msgid ""
|
||||
"\n"
|
||||
"The rescan will be automatically started now.\n"
|
||||
msgstr ""
|
||||
"L'état lors de la dernière synchronisation ne correspond plus à l'état du "
|
||||
"référentiel.\n"
|
||||
"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n"
|
||||
"\n"
|
||||
"Un autre programme Git a modifié ce référentiel depuis la dernière "
|
||||
"synchronisation. Une resynchronisation doit être effectuée avant de pouvoir "
|
||||
"modifier la branche courante.\n"
|
||||
"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynchronisation doit être effectuée avant de pouvoir modifier la branche courante.\n"
|
||||
"\n"
|
||||
"Cela va être fait tout de suite automatiquement.\n"
|
||||
|
||||
@@ -814,13 +809,12 @@ msgstr "Mise à jour du répertoire courant avec '%s'..."
|
||||
|
||||
#: lib/checkout_op.tcl:323
|
||||
msgid "files checked out"
|
||||
msgstr ""
|
||||
msgstr "fichiers empruntés"
|
||||
|
||||
#: lib/checkout_op.tcl:353
|
||||
#, tcl-format
|
||||
msgid "Aborted checkout of '%s' (file level merging is required)."
|
||||
msgstr ""
|
||||
"Emprunt de '%s' abandonné. (Il est nécessaire de fusionner des fichiers.)"
|
||||
msgstr "Emprunt de '%s' abandonné. (Il est nécessaire de fusionner des fichiers.)"
|
||||
|
||||
#: lib/checkout_op.tcl:354
|
||||
msgid "File level merge required."
|
||||
@@ -1089,8 +1083,7 @@ msgstr ""
|
||||
|
||||
#: lib/choose_repository.tcl:880
|
||||
msgid "Cannot determine HEAD. See console output for details."
|
||||
msgstr ""
|
||||
"Impossible de déterminer HEAD. Voir la sortie console pour plus de détails."
|
||||
msgstr "Impossible de déterminer HEAD. Voir la sortie console pour plus de détails."
|
||||
|
||||
#: lib/choose_repository.tcl:889
|
||||
#, tcl-format
|
||||
@@ -1292,32 +1285,31 @@ msgstr "attention : Tcl ne supporte pas l'encodage '%s'."
|
||||
|
||||
#: lib/commit.tcl:221
|
||||
msgid "Calling pre-commit hook..."
|
||||
msgstr ""
|
||||
msgstr "Appel du programme externe d'avant commit..."
|
||||
|
||||
#: lib/commit.tcl:236
|
||||
msgid "Commit declined by pre-commit hook."
|
||||
msgstr ""
|
||||
msgstr "Commit refusé par le programme externe d'avant commit."
|
||||
|
||||
#: lib/commit.tcl:259
|
||||
msgid "Calling commit-msg hook..."
|
||||
msgstr ""
|
||||
msgstr "Appel du programme externe de message de commit..."
|
||||
|
||||
#: lib/commit.tcl:274
|
||||
msgid "Commit declined by commit-msg hook."
|
||||
msgstr ""
|
||||
msgstr "Commit refusé par le programme externe de message de commit."
|
||||
|
||||
#: lib/commit.tcl:287
|
||||
msgid "Committing changes..."
|
||||
msgstr ""
|
||||
msgstr "Commit des modifications..."
|
||||
|
||||
#: lib/commit.tcl:303
|
||||
msgid "write-tree failed:"
|
||||
msgstr "write-tree a échoué :"
|
||||
|
||||
#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368
|
||||
#, fuzzy
|
||||
msgid "Commit failed."
|
||||
msgstr "Le clonage a échoué."
|
||||
msgstr "Le commit a échoué."
|
||||
|
||||
#: lib/commit.tcl:321
|
||||
#, tcl-format
|
||||
@@ -1479,8 +1471,7 @@ msgstr "Erreur lors du chargement des différences :"
|
||||
|
||||
#: lib/diff.tcl:303
|
||||
msgid "Failed to unstage selected hunk."
|
||||
msgstr ""
|
||||
"La suppression dans le pré-commit de la section sélectionnée a échouée."
|
||||
msgstr "La suppression dans le pré-commit de la section sélectionnée a échouée."
|
||||
|
||||
#: lib/diff.tcl:310
|
||||
msgid "Failed to stage selected hunk."
|
||||
@@ -1510,8 +1501,7 @@ msgstr "Erreur de pré-commit"
|
||||
msgid ""
|
||||
"Updating the Git index failed. A rescan will be automatically started to "
|
||||
"resynchronize git-gui."
|
||||
msgstr ""
|
||||
"Le pré-commit a échoué. Une resynchronisation va être lancée automatiquement."
|
||||
msgstr "Le pré-commit a échoué. Une resynchronisation va être lancée automatiquement."
|
||||
|
||||
#: lib/index.tcl:27
|
||||
msgid "Continue"
|
||||
@@ -1527,9 +1517,8 @@ msgid "Unstaging %s from commit"
|
||||
msgstr "Supprimer %s du commit"
|
||||
|
||||
#: lib/index.tcl:313
|
||||
#, fuzzy
|
||||
msgid "Ready to commit."
|
||||
msgstr "Pré-commité"
|
||||
msgstr "Prêt à être commité."
|
||||
|
||||
#: lib/index.tcl:326
|
||||
#, tcl-format
|
||||
@@ -1627,9 +1616,9 @@ msgid "%s of %s"
|
||||
msgstr "%s de %s"
|
||||
|
||||
#: lib/merge.tcl:119
|
||||
#, fuzzy, tcl-format
|
||||
#, tcl-format
|
||||
msgid "Merging %s and %s..."
|
||||
msgstr "Fusion de %s et %s"
|
||||
msgstr "Fusion de %s et %s..."
|
||||
|
||||
#: lib/merge.tcl:130
|
||||
msgid "Merge completed successfully."
|
||||
@@ -1693,9 +1682,8 @@ msgid "Aborting"
|
||||
msgstr "Abandon"
|
||||
|
||||
#: lib/merge.tcl:238
|
||||
#, fuzzy
|
||||
msgid "files reset"
|
||||
msgstr "fichiers"
|
||||
msgstr "fichiers réinitialisés"
|
||||
|
||||
#: lib/merge.tcl:265
|
||||
msgid "Abort failed."
|
||||
@@ -1759,9 +1747,8 @@ msgid "Number of Diff Context Lines"
|
||||
msgstr "Nombre de lignes de contexte dans les diffs"
|
||||
|
||||
#: lib/option.tcl:127
|
||||
#, fuzzy
|
||||
msgid "Commit Message Text Width"
|
||||
msgstr "Message de commit :"
|
||||
msgstr "Largeur du texte de message de commit"
|
||||
|
||||
#: lib/option.tcl:128
|
||||
msgid "New Branch Name Template"
|
||||
@@ -1769,7 +1756,7 @@ msgstr "Nouveau modèle de nom de branche"
|
||||
|
||||
#: lib/option.tcl:192
|
||||
msgid "Spelling Dictionary:"
|
||||
msgstr ""
|
||||
msgstr "Dictionnaire d'orthographe :"
|
||||
|
||||
#: lib/option.tcl:216
|
||||
msgid "Change Font"
|
||||
@@ -1898,40 +1885,40 @@ msgstr "Impossible d'écrire l'icône :"
|
||||
|
||||
#: lib/spellcheck.tcl:57
|
||||
msgid "Unsupported spell checker"
|
||||
msgstr ""
|
||||
msgstr "Vérificateur d'orthographe non supporté"
|
||||
|
||||
#: lib/spellcheck.tcl:65
|
||||
msgid "Spell checking is unavailable"
|
||||
msgstr ""
|
||||
msgstr "La vérification d'orthographe n'est pas disponible"
|
||||
|
||||
#: lib/spellcheck.tcl:68
|
||||
msgid "Invalid spell checking configuration"
|
||||
msgstr ""
|
||||
msgstr "Configuration de vérification d'orthographe invalide"
|
||||
|
||||
#: lib/spellcheck.tcl:70
|
||||
#, tcl-format
|
||||
msgid "Reverting dictionary to %s."
|
||||
msgstr ""
|
||||
msgstr "Réinitialisation du dictionnaire à %s."
|
||||
|
||||
#: lib/spellcheck.tcl:73
|
||||
msgid "Spell checker silently failed on startup"
|
||||
msgstr ""
|
||||
msgstr "La vérification d'orthographe a échouée silentieusement au démarrage"
|
||||
|
||||
#: lib/spellcheck.tcl:80
|
||||
msgid "Unrecognized spell checker"
|
||||
msgstr ""
|
||||
msgstr "Vérificateur d'orthographe non reconnu"
|
||||
|
||||
#: lib/spellcheck.tcl:180
|
||||
msgid "No Suggestions"
|
||||
msgstr ""
|
||||
msgstr "Aucune suggestion"
|
||||
|
||||
#: lib/spellcheck.tcl:381
|
||||
msgid "Unexpected EOF from spell checker"
|
||||
msgstr ""
|
||||
msgstr "Fin de fichier innatendue envoyée par le vérificateur d'orthographe"
|
||||
|
||||
#: lib/spellcheck.tcl:385
|
||||
msgid "Spell Checker Failed"
|
||||
msgstr ""
|
||||
msgstr "Le vérificateur d'orthographe a échoué"
|
||||
|
||||
#: lib/status_bar.tcl:83
|
||||
#, tcl-format
|
||||
@@ -2002,3 +1989,4 @@ msgstr "Utiliser des petits paquets (pour les connexions lentes)"
|
||||
#: lib/transport.tcl:168
|
||||
msgid "Include tags"
|
||||
msgstr "Inclure les marques"
|
||||
|
||||
|
||||
@@ -2239,12 +2239,13 @@ sub find_parent_branch {
|
||||
# just grow a tail if we're not unique enough :x
|
||||
$ref_id .= '-' while find_ref($ref_id);
|
||||
print STDERR "Initializing parent: $ref_id\n";
|
||||
my ($u, $p) = ($new_url, '');
|
||||
my ($u, $p, $repo_id) = ($new_url, '', $ref_id);
|
||||
if ($u =~ s#^\Q$url\E(/|$)##) {
|
||||
$p = $u;
|
||||
$u = $url;
|
||||
$repo_id = $self->{repo_id};
|
||||
}
|
||||
$gs = Git::SVN->init($u, $p, $self->{repo_id}, $ref_id, 1);
|
||||
$gs = Git::SVN->init($u, $p, $repo_id, $ref_id, 1);
|
||||
}
|
||||
my ($r0, $parent) = $gs->find_rev_before($r, 1);
|
||||
if (!defined $r0 || !defined $parent) {
|
||||
|
||||
@@ -8046,11 +8046,11 @@ proc doprefs {} {
|
||||
grid $top.cdisp - -sticky w -pady 10
|
||||
label $top.bg -padx 40 -relief sunk -background $bgcolor
|
||||
button $top.bgbut -text [mc "Background"] -font optionfont \
|
||||
-command [list choosecolor bgcolor 0 $top.bg background setbg]
|
||||
-command [list choosecolor bgcolor {} $top.bg background setbg]
|
||||
grid x $top.bgbut $top.bg -sticky w
|
||||
label $top.fg -padx 40 -relief sunk -background $fgcolor
|
||||
button $top.fgbut -text [mc "Foreground"] -font optionfont \
|
||||
-command [list choosecolor fgcolor 0 $top.fg foreground setfg]
|
||||
-command [list choosecolor fgcolor {} $top.fg foreground setfg]
|
||||
grid x $top.fgbut $top.fg -sticky w
|
||||
label $top.diffold -padx 40 -relief sunk -background [lindex $diffcolors 0]
|
||||
button $top.diffoldbut -text [mc "Diff: old lines"] -font optionfont \
|
||||
@@ -8070,7 +8070,7 @@ proc doprefs {} {
|
||||
grid x $top.hunksepbut $top.hunksep -sticky w
|
||||
label $top.selbgsep -padx 40 -relief sunk -background $selectbgcolor
|
||||
button $top.selbgbut -text [mc "Select bg"] -font optionfont \
|
||||
-command [list choosecolor selectbgcolor 0 $top.selbgsep background setselbg]
|
||||
-command [list choosecolor selectbgcolor {} $top.selbgsep background setselbg]
|
||||
grid x $top.selbgbut $top.selbgsep -sticky w
|
||||
|
||||
label $top.cfont -text [mc "Fonts: press to choose"]
|
||||
|
||||
@@ -2164,7 +2164,7 @@ sub parse_difftree_raw_line {
|
||||
$res{'to_mode'} = $2;
|
||||
$res{'from_id'} = $3;
|
||||
$res{'to_id'} = $4;
|
||||
$res{'status'} = $res{'status_str'} = $5;
|
||||
$res{'status'} = $5;
|
||||
$res{'similarity'} = $6;
|
||||
if ($res{'status'} eq 'R' || $res{'status'} eq 'C') { # renamed or copied
|
||||
($res{'from_file'}, $res{'to_file'}) = map { unquote($_) } split("\t", $7);
|
||||
@@ -2180,7 +2180,6 @@ sub parse_difftree_raw_line {
|
||||
$res{'to_mode'} = pop @{$res{'from_mode'}};
|
||||
$res{'from_id'} = [ split(' ', $3) ];
|
||||
$res{'to_id'} = pop @{$res{'from_id'}};
|
||||
$res{'status_str'} = $4;
|
||||
$res{'status'} = [ split('', $4) ];
|
||||
$res{'to_file'} = unquote($5);
|
||||
}
|
||||
@@ -3002,7 +3001,7 @@ sub fill_from_file_info {
|
||||
sub is_deleted {
|
||||
my $diffinfo = shift;
|
||||
|
||||
return $diffinfo->{'status_str'} =~ /D/;
|
||||
return $diffinfo->{'to_id'} eq ('0' x 40);
|
||||
}
|
||||
|
||||
# does patch correspond to [previous] difftree raw line
|
||||
|
||||
@@ -112,4 +112,17 @@ do
|
||||
'
|
||||
done
|
||||
|
||||
test_expect_success 'two lines' '
|
||||
|
||||
>file &&
|
||||
git add file &&
|
||||
echo aaa >file &&
|
||||
git diff >patch &&
|
||||
git add file &&
|
||||
echo bbb >file &&
|
||||
git add file &&
|
||||
test_must_fail git apply --check patch
|
||||
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
@@ -4,8 +4,6 @@ test_description='GIT_EDITOR, core.editor, and stuff'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
OLD_TERM="$TERM"
|
||||
|
||||
for i in GIT_EDITOR core_editor EDITOR VISUAL vi
|
||||
do
|
||||
cat >e-$i.sh <<-EOF
|
||||
@@ -116,6 +114,4 @@ test_expect_success 'core.editor with a space' '
|
||||
|
||||
'
|
||||
|
||||
TERM="$OLD_TERM"
|
||||
|
||||
test_done
|
||||
|
||||
20
t/t9121-git-svn-fetch-renamed-dir.sh
Executable file
20
t/t9121-git-svn-fetch-renamed-dir.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2008 Santhosh Kumar Mani
|
||||
|
||||
|
||||
test_description='git-svn can fetch renamed directories'
|
||||
|
||||
. ./lib-git-svn.sh
|
||||
|
||||
test_expect_success 'load repository with renamed directory' "
|
||||
svnadmin load -q $rawsvnrepo < ../t9121/renamed-dir.dump
|
||||
"
|
||||
|
||||
test_expect_success 'init and fetch repository' "
|
||||
git svn init $svnrepo/newname &&
|
||||
git svn fetch
|
||||
"
|
||||
|
||||
test_done
|
||||
|
||||
90
t/t9121/renamed-dir.dump
Normal file
90
t/t9121/renamed-dir.dump
Normal file
@@ -0,0 +1,90 @@
|
||||
SVN-fs-dump-format-version: 2
|
||||
|
||||
UUID: 06b9b3ad-f546-4fbe-8328-fcb4e6ef5c3f
|
||||
|
||||
Revision-number: 0
|
||||
Prop-content-length: 56
|
||||
Content-length: 56
|
||||
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-04-02T09:11:59.778557Z
|
||||
PROPS-END
|
||||
|
||||
Revision-number: 1
|
||||
Prop-content-length: 117
|
||||
Content-length: 117
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 14
|
||||
initial import
|
||||
K 10
|
||||
svn:author
|
||||
V 8
|
||||
santhosh
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-04-02T09:13:03.170863Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: name
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Node-path: name/a.txt
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 71
|
||||
Text-content-length: 6
|
||||
Text-content-md5: b1946ac92492d2347c6235b4d2611184
|
||||
Content-length: 77
|
||||
|
||||
K 13
|
||||
svn:mime-type
|
||||
V 10
|
||||
text/plain
|
||||
K 13
|
||||
svn:eol-style
|
||||
V 2
|
||||
LF
|
||||
PROPS-END
|
||||
hello
|
||||
|
||||
|
||||
Revision-number: 2
|
||||
Prop-content-length: 109
|
||||
Content-length: 109
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 7
|
||||
renamed
|
||||
K 10
|
||||
svn:author
|
||||
V 8
|
||||
santhosh
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-04-02T09:14:22.952186Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: newname
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Node-copyfrom-rev: 1
|
||||
Node-copyfrom-path: name
|
||||
|
||||
|
||||
Node-path: name
|
||||
Node-action: delete
|
||||
|
||||
|
||||
Reference in New Issue
Block a user