* git stash clear
From: Eric Davis @ 2007-10-10 16:42 UTC (permalink / raw)
To: git
Hey Everyone,
I have a problem that happened when using git stash.
I was working on a branch and applied a stash to it. There were no
conflicts. I figured I was done with the stuff in stash, so I did a git
stash clear. Not good. It also reverted my branch to before I did the
stash apply and now I have none of the changes because the stash is also
gone. Is this by design? If so, why?
Is there anyway to get this stash back?
Thanks,
Eric
^ permalink raw reply
* Re: git stash clear
From: Eric Davis @ 2007-10-10 18:17 UTC (permalink / raw)
To: git
In-Reply-To: <feivdo$sgi$1@sea.gmane.org>
Disregard, It was user error. Sorry.
Thanks,
Eric
^ permalink raw reply
* [FEATURE REQUEST] git clone, just clone selected branches?
From: Joakim Tjernlund @ 2007-10-10 18:55 UTC (permalink / raw)
To: git
To my knowlede a git clone always clones all branches from the remote repo.
I would like the possibly to clone selected branches, like
git clone <repo URL> -b master -b upstream
which will only fetch the master and upstream branch.
I know I can use git remote to do this, but it is a bit clumsy
when starting a new repo.
What do you think?
Jocke
^ permalink raw reply
* Re: inexplicable failure to merge recursively across cherry-picks
From: Miklos Vajna @ 2007-10-10 19:07 UTC (permalink / raw)
To: David Brown; +Cc: Linus Torvalds, martin f krafft, git discussion list
In-Reply-To: <20071010154831.GA19226@old.davidb.org>
[-- Attachment #1: Type: text/plain, Size: 2199 bytes --]
On Wed, Oct 10, 2007 at 08:48:31AM -0700, David Brown <git@davidb.org> wrote:
> On Wed, Oct 10, 2007 at 08:25:15AM -0700, Linus Torvalds wrote:
> >Yes, *some* SCM's have tried to do that. In particular, the ones that are "patch-based" tend to think that patches are "identical" regardless of where they are, and while re-ordering of them is a special event, it's not somethign that changes the fundamental 'ID' of the patch.
> >For example, I think the darcs "patch algebra" works that way.
> >It's a really horrible model. Not only doesn't it scale, but it leads to various very strange linkages between patches, and it fails the most important part: it means that merges get different results just because people are doing the same changes two different ways.
> Actually, specifically darcs, different merges _always_ result in the same
> data. It's a fundamental part of is patch algebra. No matter what order
> you apply a given set of patches, even with conflicts and reordering, you
> always get the same result, or no result. Conflicts are "resolved" by
> inserting conflict markers in the file, ordered by the patch ID. It
> doesn't matter which order you apply them in, you get the same markers.
> Then there will be a merge patch which fixes the markers that someone could
> apply, no matter what order the applied the previous patches.
> Darcs breaks down in a few places, though.
> - The no result. Sometimes, it just can't figure out how to reorder
> patches. Even worse, occasionally, the implementation will fail to
> terminate try to figure this out. There isn't much to do at this
> point, except manually apply the patch, hence generating a new patch
> ID.
> - It doesn't scale well.
> The strange linkages between patches could be thought of as a feature,
> since it is basically constraining the order that the patches can be
> applied in.
> There is a darcs-git project that tries to do the darcs things on top of
> git.
> Dave
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
thanks,
- VMiklos
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [PATCH] Support cvs via git-shell
From: Frank Lichtenheld @ 2007-10-10 19:10 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: gitster, hjemli, Jan Wielemaker, Git Mailing List
In-Reply-To: <Pine.LNX.4.64.0710101427160.4174@racer.site>
On Wed, Oct 10, 2007 at 02:29:00PM +0100, Johannes Schindelin wrote:
> On Wed, 10 Oct 2007, Frank Lichtenheld wrote:
> > On Tue, Oct 09, 2007 at 03:33:25PM +0100, Johannes Schindelin wrote:
> > > static struct commands {
> > > const char *name;
> > > int (*exec)(const char *me, char *arg);
> > > } cmd_list[] = {
> > > { "git-receive-pack", do_generic_cmd },
> > > { "git-upload-pack", do_generic_cmd },
> > > + { "cvs", do_cvs_cmd },
> > > { NULL },
> >
> > Maybe this should also allow git-cvsserver for completeness' sake?
>
> Umm. Why?
Symmetry? ;)
The "for completeness' sake" was as good a reason as I could think of.
Gruesse,
--
Frank Lichtenheld <frank@lichtenheld.de>
www: http://www.djpig.de/
^ permalink raw reply
* Lots of loose objects
From: David Kågedal @ 2007-10-10 19:13 UTC (permalink / raw)
To: Git Mailing List
I hade a tree that made git-gui complain that I had too many loose
objects every time I started it (3072 to be precise). Letting git-gui
compress it for me didn't help. Neither did git-gc, even with the
--aggressive flag.
I noticed that I had a lot of loose files in .git/objects, and
suddenly I remembered that there was a command called "git
prune". Finally I was able to get rid of those loose objects.
The problem here is probably mostly that I couldn't get any help from
git-gui or git-gc. git-gui claimed it would fix the problem for me,
but failed. git-gc didn't mention that it left a bunch of files
untouched.
--
David Kågedal
^ permalink raw reply
* Re: [PATCH] git-cvsserver: added support for update -p
From: Johannes Schindelin @ 2007-10-10 19:27 UTC (permalink / raw)
To: Jan Wielemaker; +Cc: Jan Wielemaker, Git Mailing List
In-Reply-To: <200710101927.38949.wielemak@science.uva.nl>
Hi,
On Wed, 10 Oct 2007, Jan Wielemaker wrote:
> > On Wed, 10 Oct 2007, Jan Wielemaker wrote:
> > > Is there a test suite for git-cvsserver?
> >
> > Yes: t/t9400-git-cvsserver-server.sh
>
> Thanks. B.t.w. from the main directory:
>
> gollem (git) 21_> make check
make check is to check with the static code analyzer "sparse".
To test, try "make test". Since this is so commonly used to test
packages (for example, the vast majority of Perl packages have it), I do
not see the need to put a message pointing to "make test" in the "check"
target.
Ciao,
Dscho
^ permalink raw reply
* Re: [FEATURE REQUEST] git clone, just clone selected branches?
From: Johannes Schindelin @ 2007-10-10 19:35 UTC (permalink / raw)
To: Joakim Tjernlund; +Cc: git
In-Reply-To: <011401c80b6f$1a11d1f0$04ac10ac@Jocke>
Hi,
On Wed, 10 Oct 2007, Joakim Tjernlund wrote:
> To my knowlede a git clone always clones all branches from the remote
> repo. I would like the possibly to clone selected branches, like
> git clone <repo URL> -b master -b upstream
> which will only fetch the master and upstream branch.
>
> I know I can use git remote to do this, but it is a bit clumsy when
> starting a new repo.
This is why I suggest: since it is an itch of yours, just fix it. You are
in the prime position to know when you're satisfied.
As a hint how to start: Junio dreamt of a git-clone which is a tiny
wrapper around git-fetch and git-remote.
So you could start by writing a script which would be a replacement for
git-clone.sh, and there you can also include the support for -b that you
would like so much.
It would be nice, though, to keep this in separate patches, which you then
submit to this list.
Thank you,
Dscho
^ permalink raw reply
* Re: inexplicable failure to merge recursively across cherry-picks
From: Linus Torvalds @ 2007-10-10 19:35 UTC (permalink / raw)
To: Miklos Vajna; +Cc: David Brown, martin f krafft, git discussion list
In-Reply-To: <20071010190757.GP23810@genesis.frugalware.org>
On Wed, 10 Oct 2007, Miklos Vajna wrote:
>
> Actually, specifically darcs, different merges _always_ result in the same
> data.
No they don't. You don't understand the problem.
Yes, different merges WITH THE SAME PATCHES always result in the same
data.
But that's not a realistic - or even very interesting - schenario.
What's much more common is that the same problem gets solved slightly
differently in two different branches. For example, maybe somebody does it
as two different patches - where the second one fixes a bug in the first
fix. And another person does the same fix, but without the bug in the
first place.
See? A patch-based system gets confused by those kinds of issues (or they
turn into various special cases). And that is fundamentally why you MUST
NOT take history into account (where "history" is some series of
individual patches).
Yes, history is interesting for historical reasons, and to explain what
the context was, but in many ways, history is exactly the *wrong* thing to
use when it comes to merging. You should look at the end result, since
people can - and do - come to the same result through different ways.
Linus
^ permalink raw reply
* Re: [FEATURE REQUEST] git clone, just clone selected branches?
From: Linus Torvalds @ 2007-10-10 19:38 UTC (permalink / raw)
To: Joakim Tjernlund; +Cc: git
In-Reply-To: <011401c80b6f$1a11d1f0$04ac10ac@Jocke>
On Wed, 10 Oct 2007, Joakim Tjernlund wrote:
>
> I know I can use git remote to do this, but it is a bit clumsy
> when starting a new repo.
How about just
git init
.. set up remote tracking info in .git/config ..
git fetch remote
which should do what you want.
Linus
^ permalink raw reply
* Re: Lots of loose objects
From: Johannes Schindelin @ 2007-10-10 19:37 UTC (permalink / raw)
To: David Kågedal; +Cc: Git Mailing List
In-Reply-To: <87myuqwzp3.fsf@lysator.liu.se>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 778 bytes --]
Hi,
On Wed, 10 Oct 2007, David Kågedal wrote:
> I hade a tree that made git-gui complain that I had too many loose
> objects every time I started it (3072 to be precise). Letting git-gui
> compress it for me didn't help. Neither did git-gc, even with the
> --aggressive flag.
>
> I noticed that I had a lot of loose files in .git/objects, and
> suddenly I remembered that there was a command called "git
> prune". Finally I was able to get rid of those loose objects.
Probably git-gui should check again, after the compacting stage, how many
loose objects there are, and suggest to run git prune after a sufficiently
terrifying warning message ("Should I prune unreferenced objects? (DON'T
do this if you share objects between repositories!) Yes / No").
Ciao,
Dscho
^ permalink raw reply
* Re: [PATCH v2] git-gui: set NO_MSGFMT to force using pure tcl replacement in msysgit
From: Johannes Schindelin @ 2007-10-10 19:46 UTC (permalink / raw)
To: Steffen Prohaska; +Cc: spearce, git
In-Reply-To: <CC4EB4CA-3BA0-4C00-8B23-31B09032CC69@zib.de>
Hi,
On Wed, 10 Oct 2007, Steffen Prohaska wrote:
> On Oct 10, 2007, at 5:52 PM, Johannes Schindelin wrote:
>
> > On Wed, 10 Oct 2007, Steffen Prohaska wrote:
> >
> > > Shawn's git-gui Makefile supports the pure tcl replacement for
> > > msgfmt if setting NO_MSGFMT. This patch sets the NO_MSGFMT for
> > > msysgit.
> >
> > Would it not be cleaner to set this in 4msysgit and export it?
>
> What does "set this in 4msysgit" mean?
It means what you probably assumed, that we change the Makefile in /git.
> Would running 'make' in /git/git-gui/ be supported by your solution?
No, not really. Just like "make" in /git/t/ does not pick up on the
NO_SYMLINKS option.
Ciao,
Dscho
^ permalink raw reply
* Re: [PATCH] git-cvsserver: added support for update -p
From: Frank Lichtenheld @ 2007-10-10 20:00 UTC (permalink / raw)
To: Jan Wielemaker; +Cc: Git Mailing List
In-Reply-To: <200710101316.03633.jan@swi-prolog.org>
On Wed, Oct 10, 2007 at 01:16:03PM +0200, Jan Wielemaker wrote:
> + # if we have a -p we should just send the file
> + if ( exists ( $state->{opt}{p} ) )
> + {
> + if ( open my $fh, '-|', "git-cat-file", "blob", $meta->{filehash} )
> + { while ( <$fh> )
> + { print "M " . $_;
> + }
> + close $fh or die ("Couldn't close filehandle for transmitfile(): $!");
> + } else
> + { die("Couldn't execute git-cat-file");
> + }
> +
> + next;
> + }
There seems to be inconsistent whitespace in the patch.
And please never do that else\n{ again, it hurts my eye ;)
Will try to test (and write a testcase for) it tomorrow.
Gruesse,
--
Frank Lichtenheld <frank@lichtenheld.de>
www: http://www.djpig.de/
^ permalink raw reply
* Re: hello git world!
From: Robin Rosenberg @ 2007-10-10 20:10 UTC (permalink / raw)
To: Philippe Ombredanne; +Cc: git
In-Reply-To: <01e901c80b13$d3e937a0$6400a8c0@computer>
onsdag 10 oktober 2007 skrev Philippe Ombredanne:
> Hello:
Hi Philippe,
> I am a committer on Eclipse and several Eclipse-related projects, as
> well as the admin (and a mentor too) for the Eclipse summer of code
> program.
> My day job is about the same: Eclipse and tools for paying customers :-)
> I met Shawn Pearce and Johannes Schindelin this week-end at Google for
> the Summer of Code mentor summit.
> Incidentally a week before I had tried git for the 1st time, out of need
> trying to build an eclipse plugin available only through git
> (http://robrohan.com/projects/afae/ )
> After a few minutes I was checking out and building more git stuffs
> including egit of course.
>
> I basically fell in love with Git, just like that. I am frightened --
> like when you fall in love-- about the power and implications of a
> distributed version control system :-P
We know how you feel :)
> Being an Eclipse and tools guy, I'll try to help on the egit and java
> git side (for non eclipse based java tools) . I have played a little
> experience with team support in Eclipse, and high expectations for egit
> from using things such as the CVS, Subclipse and Subversive plugins for
> Eclipse.
>
> One of the ideas Shawn and I floated was that we could work towards
> making egit an official Eclipse project.
> Being somewhat plugged at Eclipse, I can help broker that, if it makes
> sense for the git community.
> I look forward to the discussion there.
I'm all ears.
> I think this would go a long way to attract more committers on egit, and
> make git a very accessible tool to millions of Eclipse users.
> I will also make egit installers available through the easyeclipse
> distro I maintain.
Then you might want to look at a problem I had with the update-site in the
egit repo. I can only locate the plugin as a new plugin. Upgrade won't find it.
-- robin
^ permalink raw reply
* [PATCH - amended] git-gui: update Italian translation
From: Michele Ballabio @ 2007-10-10 20:18 UTC (permalink / raw)
To: Paolo Ciarrocchi; +Cc: git, Shawn O. Pearce, Johannes Schindelin
In-Reply-To: <4d8e3fd30710100816t7254786fi58933496661fc15@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 566 bytes --]
On Wednesday 10 October 2007, Paolo Ciarrocchi wrote:
> On 10/10/07, Michele Ballabio <barra_cuda@katamail.com> wrote:
> > On Wednesday 10 October 2007, Paolo Ciarrocchi wrote:
> > > In short, I'm still think we should leave the word untranslated.
> > >
> > > How about posting the new file to ltp and move there the discussion?
> >
> > Uhm. What about "nuova revisione"/"creare una nuova revisione"? Otherwise,
> > I'll select some strings and post them there.
>
> I like "nuova revisione".
So here it is. (Sent as an attachment because I fear mangling, sorry).
[-- Attachment #2: amended-0001-git-gui-update-Italian-translation.patch --]
[-- Type: text/x-diff, Size: 46425 bytes --]
>From 73ef7cd983ed915bd8f085510746b991ed7d65e2 Mon Sep 17 00:00:00 2001
From: Michele Ballabio <barra_cuda@katamail.com>
Date: Wed, 10 Oct 2007 15:04:16 +0200
Subject: [PATCH] git-gui: update Italian translation
An Italian glossary was also added. Some changes:
* commit (verb): (creare una) nuova revisione
* commit (noun): revisione
* checkout: attivazione
* tracking branch: duplicato locale di ramo remoto
* repository: archivio
* some terms are used with more consistency
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
---
po/glossary/it.po | 180 +++++++++++++++++++
po/it.po | 493 +++++++++++++++++++++++++++--------------------------
2 files changed, 429 insertions(+), 244 deletions(-)
create mode 100644 po/glossary/it.po
diff --git a/po/glossary/it.po b/po/glossary/it.po
new file mode 100644
index 0000000..8e3d9a2
--- /dev/null
+++ b/po/glossary/it.po
@@ -0,0 +1,180 @@
+# Translation of git-gui glossary to Italian
+# Copyright (C) 2007 Shawn Pearce, et al.
+# This file is distributed under the same license as the git package.
+# Christian Stimming <stimming@tuhh.de>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: git-gui glossary\n"
+"POT-Creation-Date: 2007-10-05 22:30+0200\n"
+"PO-Revision-Date: 2007-10-10 15:24+0200\n"
+"Last-Translator: Michele Ballabio <barra_cuda@katamail.com>\n"
+"Language-Team: Italian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
+msgid ""
+"English Term (Dear translator: This file will never be visible to the user!)"
+msgstr ""
+"Traduzione italiana.\n"
+"Altri SCM in italiano:\n"
+" http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_it."
+"po (username=guest, password empty),\n"
+" http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/it_IT.po?"
+"view=markup ,\n"
+" http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/it_IT/rapidsvn.po "
+"(username=guest, password empty)"
+
+#. ""
+msgid "amend"
+msgstr "correggere, correzione"
+
+#. ""
+msgid "annotate"
+msgstr "annotare, annotazione"
+
+#. "A 'branch' is an active line of development."
+msgid "branch [noun]"
+msgstr "ramo, diramazione, ramificazione"
+
+#. ""
+msgid "branch [verb]"
+msgstr "creare ramo, ramificare, diramare"
+
+#. ""
+msgid "checkout [noun]"
+msgstr "attivazione, checkout, revisione attiva, prelievo (TortoiseCVS)?"
+
+#. "The action of updating the working tree to a revision which was stored in the object database."
+msgid "checkout [verb]"
+msgstr ""
+"attivare, effettuare un checkout, attivare revisione, prelevare (TortoiseCVS), "
+"ritirare (TSVN)?"
+
+#. ""
+msgid "clone [verb]"
+msgstr "clonare"
+
+#. "A single point in the git history."
+msgid "commit [noun]"
+msgstr "revisione, commit, deposito (TortoiseCVS), invio (TSVN)?"
+
+#. "The action of storing a new snapshot of the project's state in the git history."
+msgid "commit [verb]"
+msgstr ""
+"creare una nuova revisione, archiviare, effettuare un commit, depositare "
+"(nel server), fare un deposito (TortoiseCVS), inviare (TSVN)?"
+
+#. ""
+msgid "diff [noun]"
+msgstr "differenza, confronto, comparazione, raffronto"
+
+#. ""
+msgid "diff [verb]"
+msgstr "confronta, mostra le differenze"
+
+#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have."
+msgid "fast forward merge"
+msgstr "fusione in 'fast-forward', fusione in avanti veloce"
+
+#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too."
+msgid "fetch"
+msgstr "recuperare, prelevare, prendere da, recuperare (TSVN)"
+
+#. "A collection of files. The index is a stored version of your working tree."
+msgid "index (in git-gui: staging area)"
+msgstr "indice"
+
+#. "A successful merge results in the creation of a new commit representing the result of the merge."
+msgid "merge [noun]"
+msgstr "fusione, unione"
+
+#. "To bring the contents of another branch into the current branch."
+msgid "merge [verb]"
+msgstr "effettuare la fusione, unire, fondere, eseguire la fusione"
+
+#. ""
+msgid "message"
+msgstr "messaggio, commento"
+
+#. ""
+msgid "prune"
+msgstr "potatura"
+
+#. "Pulling a branch means to fetch it and merge it."
+msgid "pull"
+msgstr ""
+"prendi (recupera) e fondi (unisci)? (in pratica una traduzione di fetch + "
+"merge)"
+
+#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)"
+msgid "push"
+msgstr "propaga"
+
+#. ""
+msgid "redo"
+msgstr "ripeti, rifai"
+
+#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)"
+msgid "repository"
+msgstr "archivio, repository, database? deposito (rapidsvn)?"
+
+#. ""
+msgid "reset"
+msgstr "ripristinare, annullare, azzerare, ripristinare"
+
+#. ""
+msgid "revert"
+msgstr ""
+"annullare, inverti (rapidsvn), ritorna allo stato precedente, annulla le "
+"modifiche della revisione"
+
+#. "A particular state of files and directories which was stored in the object database."
+msgid "revision"
+msgstr "revisione (TortoiseSVN)"
+
+#. ""
+msgid "sign off"
+msgstr "sign off, firma"
+
+#. ""
+msgid "staging area"
+msgstr ""
+"area di preparazione, zona di preparazione, modifiche in preparazione? "
+"modifiche in allestimento?"
+
+#. ""
+msgid "status"
+msgstr "stato"
+
+#. "A ref pointing to a tag or commit object"
+msgid "tag [noun]"
+msgstr "etichetta, etichettatura (TortoiseCVS)"
+
+#. ""
+msgid "tag [verb]"
+msgstr "etichettare"
+
+#. "A regular git branch that is used to follow changes from another repository."
+msgid "tracking branch"
+msgstr ""
+"duplicato locale di ramo remoto, ramo in 'tracking', ramo inseguitore? ramo di {inseguimento,allineamento,"
+"rilevamento,puntamento}?"
+
+#. ""
+msgid "undo"
+msgstr "annulla"
+
+#. ""
+msgid "update"
+msgstr "aggiornamento, aggiornare"
+
+#. ""
+msgid "verify"
+msgstr "verifica, verificare"
+
+#. "The tree of actual checked out files."
+msgid "working copy, working tree"
+msgstr "directory di lavoro, copia di lavoro"
diff --git a/po/it.po b/po/it.po
index d959019..7668414 100644
--- a/po/it.po
+++ b/po/it.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-10-10 04:04-0400\n"
-"PO-Revision-Date: 2007-08-09 00:27+0200\n"
+"POT-Creation-Date: 2007-10-10 14:42+0200\n"
+"PO-Revision-Date: 2007-10-10 15:27+0200\n"
"Last-Translator: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"MIME-Version: 1.0\n"
@@ -20,12 +20,12 @@ msgstr ""
#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744
#: git-gui.sh:763
msgid "git-gui: fatal error"
-msgstr ""
+msgstr "git-gui: errore grave"
#: git-gui.sh:595
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Invalid font specified in %s:"
-msgstr "Caratteri non validi specificati nella gui.%s:"
+msgstr "Caratteri non validi specificati in %s:"
#: git-gui.sh:620
msgid "Main Font"
@@ -56,7 +56,7 @@ msgid ""
msgstr ""
"La versione di GIT non può essere determinata.\n"
"\n"
-"%s sostiene che la versione è '%s'.\n"
+"%s riporta che la versione è '%s'.\n"
"\n"
"%s richiede almeno Git 1.5.0 o superiore.\n"
"\n"
@@ -67,9 +67,8 @@ msgid "Git directory not found:"
msgstr "Non trovo la directory di git: "
#: git-gui.sh:860
-#, fuzzy
msgid "Cannot move to top of working directory:"
-msgstr "Impossibile usare una .git directory strana:"
+msgstr "Impossibile spostarsi sulla directory principale del progetto:"
#: git-gui.sh:867
msgid "Cannot use funny .git directory:"
@@ -97,23 +96,23 @@ msgstr "Non modificato"
#: git-gui.sh:1527
msgid "Modified, not staged"
-msgstr "Modificato, non pronto per il commit"
+msgstr "Modificato, non preparato per una nuova revisione"
#: git-gui.sh:1528 git-gui.sh:1533
msgid "Staged for commit"
-msgstr "Pronto per il commit"
+msgstr "Preparato per una nuova revisione"
#: git-gui.sh:1529 git-gui.sh:1534
msgid "Portions staged for commit"
-msgstr "Parti pronte per il commit"
+msgstr "Parti preparate per una nuova revisione"
#: git-gui.sh:1530 git-gui.sh:1535
msgid "Staged for commit, missing"
-msgstr "Pronto per il commit, mancante"
+msgstr "Preparato per una nuova revisione, mancante"
#: git-gui.sh:1532
msgid "Untracked, not staged"
-msgstr "Non tracciato, non pronto per il commit"
+msgstr "Non tracciato, non preparato per una nuova revisione"
#: git-gui.sh:1537
msgid "Missing"
@@ -121,11 +120,11 @@ msgstr "Mancante"
#: git-gui.sh:1538
msgid "Staged for removal"
-msgstr "Pronto per la rimozione"
+msgstr "Preparato per la rimozione"
#: git-gui.sh:1539
msgid "Staged for removal, still present"
-msgstr "Pronto alla rimozione, ancora presente"
+msgstr "Preparato alla rimozione, ancora presente"
#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544
msgid "Requires merge resolution"
@@ -159,18 +158,16 @@ msgid "Branch"
msgstr "Ramo"
#: git-gui.sh:1794 lib/choose_rev.tcl:547
-#, fuzzy
msgid "Commit@@noun"
-msgstr "Commit"
+msgstr "Revisione"
#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
msgid "Merge"
msgstr "Fusione (Merge)"
#: git-gui.sh:1798 lib/choose_rev.tcl:556
-#, fuzzy
msgid "Remote"
-msgstr "Remoto:"
+msgstr "Remoto"
#: git-gui.sh:1807
msgid "Browse Current Branch's Files"
@@ -200,15 +197,15 @@ msgstr "Visualizza la cronologia di %s"
#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67
msgid "Database Statistics"
-msgstr "Statistiche del database"
+msgstr "Statistiche dell'archivio"
#: git-gui.sh:1837 lib/database.tcl:34
msgid "Compress Database"
-msgstr "Comprimi il database"
+msgstr "Comprimi l'archivio"
#: git-gui.sh:1840
msgid "Verify Database"
-msgstr "Verifica il database"
+msgstr "Verifica l'archivio"
#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9
#: lib/shortcut.tcl:45 lib/shortcut.tcl:84
@@ -255,7 +252,7 @@ msgstr "Crea..."
#: git-gui.sh:1902
msgid "Checkout..."
-msgstr "Checkout..."
+msgstr "Attiva..."
#: git-gui.sh:1908
msgid "Rename..."
@@ -271,11 +268,11 @@ msgstr "Ripristina..."
#: git-gui.sh:1930 git-gui.sh:2313
msgid "New Commit"
-msgstr "Nuovo commit"
+msgstr "Nuova revisione"
#: git-gui.sh:1938 git-gui.sh:2320
msgid "Amend Last Commit"
-msgstr "Correggi l'ultimo commit"
+msgstr "Correggi l'ultima revisione"
#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99
msgid "Rescan"
@@ -283,15 +280,15 @@ msgstr "Analizza nuovamente"
#: git-gui.sh:1953
msgid "Stage To Commit"
-msgstr "Prepara per il commit"
+msgstr "Prepara per una nuova revisione"
#: git-gui.sh:1958
msgid "Stage Changed Files To Commit"
-msgstr "Prepara per il commit i file modificati"
+msgstr "Prepara i file modificati per una nuova revisione"
#: git-gui.sh:1964
msgid "Unstage From Commit"
-msgstr "Non pronto per il commit"
+msgstr "Annulla preparazione"
#: git-gui.sh:1969 lib/index.tcl:352
msgid "Revert Changes"
@@ -302,17 +299,16 @@ msgid "Sign Off"
msgstr "Sign Off"
#: git-gui.sh:1980 git-gui.sh:2296
-#, fuzzy
msgid "Commit@@verb"
-msgstr "Commit"
+msgstr "Nuova revisione"
#: git-gui.sh:1991
msgid "Local Merge..."
-msgstr "Fusione locale"
+msgstr "Fusione locale..."
#: git-gui.sh:1996
msgid "Abort Merge..."
-msgstr "Interrompi fusione"
+msgstr "Interrompi fusione..."
#: git-gui.sh:2008
msgid "Push..."
@@ -330,7 +326,7 @@ msgstr "Informazioni su %s"
#: git-gui.sh:2026
msgid "Preferences..."
-msgstr ""
+msgstr "Preferenze..."
#: git-gui.sh:2034 git-gui.sh:2558
msgid "Options..."
@@ -348,20 +344,20 @@ msgstr "Documentazione sul web"
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
msgstr ""
+"errore grave: impossibile effettuare lo stat del path %s: file o directory "
+"non trovata"
#: git-gui.sh:2198
msgid "Current Branch:"
msgstr "Ramo attuale:"
#: git-gui.sh:2219
-#, fuzzy
msgid "Staged Changes (Will Commit)"
-msgstr "Modifiche preparate (ne verrà effettuato il commit)"
+msgstr "Modifiche preparate (saranno nella nuova revisione)"
#: git-gui.sh:2239
-#, fuzzy
msgid "Unstaged Changes"
-msgstr "Prepara modificati"
+msgstr "Modifiche non preparate"
#: git-gui.sh:2286
msgid "Stage Changed"
@@ -373,15 +369,15 @@ msgstr "Propaga (Push)"
#: git-gui.sh:2332
msgid "Initial Commit Message:"
-msgstr "Messaggio di commit iniziale:"
+msgstr "Messaggio di revisione iniziale:"
#: git-gui.sh:2333
msgid "Amended Commit Message:"
-msgstr "Messaggio di commit corretto:"
+msgstr "Messaggio di revisione corretto:"
#: git-gui.sh:2334
msgid "Amended Initial Commit Message:"
-msgstr "Messaggio iniziale di commit corretto:"
+msgstr "Messaggio iniziale di revisione corretto:"
#: git-gui.sh:2335
msgid "Amended Merge Commit Message:"
@@ -393,7 +389,7 @@ msgstr "Messaggio di fusione:"
#: git-gui.sh:2337
msgid "Commit Message:"
-msgstr "Messaggio di commit:"
+msgstr "Messaggio di revisione:"
#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71
msgid "Copy All"
@@ -429,11 +425,11 @@ msgstr "Mostra più contesto"
#: git-gui.sh:2565
msgid "Unstage Hunk From Commit"
-msgstr "Sezione non pronta per il commit"
+msgstr "Sezione non preparata per una nuova revisione"
#: git-gui.sh:2567
msgid "Stage Hunk For Commit"
-msgstr "Prepara sezione per il commit"
+msgstr "Prepara sezione per una nuova revisione"
#: git-gui.sh:2586
msgid "Initializing..."
@@ -449,6 +445,12 @@ msgid ""
"by %s:\n"
"\n"
msgstr ""
+"Possibili problemi con le variabili d'ambiente.\n"
+"\n"
+"Le seguenti variabili d'ambiente saranno probabilmente\n"
+"ignorate da tutti i sottoprocessi di Git avviati\n"
+"da %s:\n"
+"\n"
#: git-gui.sh:2707
msgid ""
@@ -456,6 +458,9 @@ msgid ""
"This is due to a known issue with the\n"
"Tcl binary distributed by Cygwin."
msgstr ""
+"\n"
+"Ciò è dovuto a un problema conosciuto\n"
+"causato dall'eseguibile Tcl distribuito da Cygwin."
#: git-gui.sh:2712
#, tcl-format
@@ -467,6 +472,11 @@ msgid ""
"user.email settings into your personal\n"
"~/.gitconfig file.\n"
msgstr ""
+"\n"
+"\n"
+"Una buona alternativa a %s\n"
+"consiste nell'assegnare valori alle variabili di configurazione\n"
+"user.name e user.email nel tuo file ~/.gitconfig personale.\n"
#: lib/about.tcl:25
msgid "git-gui - a graphical user interface for Git."
@@ -478,11 +488,11 @@ msgstr "Mostra file"
#: lib/blame.tcl:81
msgid "Commit:"
-msgstr "Commit:"
+msgstr "Revisione:"
#: lib/blame.tcl:249
msgid "Copy Commit"
-msgstr "Copia commit"
+msgstr "Copia revisione"
#: lib/blame.tcl:369
#, tcl-format
@@ -491,58 +501,55 @@ msgstr "Lettura di %s..."
#: lib/blame.tcl:473
msgid "Loading copy/move tracking annotations..."
-msgstr ""
+msgstr "Caricamento annotazioni per copie/spostamenti..."
#: lib/blame.tcl:493
msgid "lines annotated"
-msgstr ""
+msgstr "linee annotate"
#: lib/blame.tcl:674
msgid "Loading original location annotations..."
-msgstr ""
+msgstr "Caricamento annotazioni per posizione originaria..."
#: lib/blame.tcl:677
msgid "Annotation complete."
-msgstr ""
+msgstr "Annotazione completata."
#: lib/blame.tcl:731
-#, fuzzy
msgid "Loading annotation..."
-msgstr "Caricamento %s..."
+msgstr "Caricamento annotazioni..."
#: lib/blame.tcl:787
msgid "Author:"
-msgstr ""
+msgstr "Autore:"
#: lib/blame.tcl:791
-#, fuzzy
msgid "Committer:"
-msgstr "Commit:"
+msgstr "Revisione creata da:"
#: lib/blame.tcl:796
msgid "Original File:"
-msgstr ""
+msgstr "File originario:"
#: lib/blame.tcl:910
msgid "Originally By:"
-msgstr ""
+msgstr "In origine da:"
#: lib/blame.tcl:916
-#, fuzzy
msgid "In File:"
-msgstr "File:"
+msgstr "Nel file:"
#: lib/blame.tcl:921
msgid "Copied Or Moved Here By:"
-msgstr ""
+msgstr "Copiato o spostato qui da:"
#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19
msgid "Checkout Branch"
-msgstr "Checkout ramo"
+msgstr "Attiva ramo"
#: lib/branch_checkout.tcl:23
msgid "Checkout"
-msgstr "Checkout"
+msgstr "Attiva"
#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35
#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281
@@ -561,7 +568,7 @@ msgstr "Opzioni"
#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92
msgid "Fetch Tracking Branch"
-msgstr "Preleva ramo in 'tracking'"
+msgstr "Recupera duplicato locale di ramo remoto"
#: lib/branch_checkout.tcl:44
msgid "Detach From Local Branch"
@@ -589,7 +596,7 @@ msgstr "Nome:"
#: lib/branch_create.tcl:58
msgid "Match Tracking Branch Name"
-msgstr "Appaia nome del ramo in 'tracking'"
+msgstr "Appaia nome del duplicato locale di ramo remoto"
#: lib/branch_create.tcl:66
msgid "Starting Revision"
@@ -613,16 +620,17 @@ msgstr "Ripristina"
#: lib/branch_create.tcl:97
msgid "Checkout After Creation"
-msgstr "Checkout dopo la creazione"
+msgstr "Attiva dopo la creazione"
#: lib/branch_create.tcl:131
msgid "Please select a tracking branch."
-msgstr "Scegliere un ramo in 'tracking'"
+msgstr "Scegliere un duplicato locale di ramo remoto"
#: lib/branch_create.tcl:140
#, tcl-format
msgid "Tracking branch %s is not a branch in the remote repository."
-msgstr "Il ramo in 'tracking' %s non è un ramo nell'archivio remoto."
+msgstr ""
+"Il duplicato locale del ramo remoto %s non è un ramo nell'archivio remoto."
#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86
msgid "Please supply a branch name."
@@ -651,7 +659,7 @@ msgstr "Cancella solo se fuso con un altro ramo"
#: lib/branch_delete.tcl:54
msgid "Always (Do not perform merge test.)"
-msgstr "Sempre (Non effettuare controlli durante la fusione)."
+msgstr "Sempre (Non effettuare verifiche di fusione)."
#: lib/branch_delete.tcl:103
#, tcl-format
@@ -664,7 +672,7 @@ msgid ""
"\n"
" Delete the selected branches?"
msgstr ""
-"Prelevare rami cancellati può essere complicato. \n"
+"Ricomporre rami cancellati può essere complicato. \n"
"\n"
" Eliminare i rami selezionati?"
@@ -700,12 +708,12 @@ msgstr "Scegliere un ramo da rinominare."
#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179
#, tcl-format
msgid "Branch '%s' already exists."
-msgstr "Il ramo '%s' esiste già"
+msgstr "Il ramo '%s' esiste già."
#: lib/branch_rename.tcl:117
#, tcl-format
msgid "Failed to rename '%s'."
-msgstr "Cambiamento nome '%s' fallito."
+msgstr "Impossibile rinominare '%s'."
#: lib/browser.tcl:17
msgid "Starting..."
@@ -742,7 +750,7 @@ msgstr "Recupero %s da %s"
#: lib/checkout_op.tcl:127
#, tcl-format
msgid "fatal: Cannot resolve %s"
-msgstr ""
+msgstr "errore grave: impossibile risolvere %s"
#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31
msgid "Close"
@@ -778,7 +786,7 @@ msgstr "Aggiornamento di '%s' fallito."
#: lib/checkout_op.tcl:251
msgid "Staging area (index) is already locked."
-msgstr "L'area di preparazione per il commit (indice) è già bloccata."
+msgstr "L'area di preparazione per una nuova revisione (indice) è già bloccata."
#: lib/checkout_op.tcl:266
msgid ""
@@ -789,23 +797,23 @@ msgid ""
"\n"
"The rescan will be automatically started now.\n"
msgstr ""
-"L'ultimo stato analizzato non corrisponde allo stato del repository.\n"
+"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n"
"\n"
-"Un altro programma Git ha modificato questo repository dall'ultima analisi. "
+"Un altro programma Git ha modificato questo archivio dall'ultima analisi. "
"Bisogna effettuare una nuova analisi prima di poter cambiare il ramo "
"corrente.\n"
"\n"
"La nuova analisi comincerà ora.\n"
#: lib/checkout_op.tcl:322
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Updating working directory to '%s'..."
-msgstr "Nessuna directory di lavoro"
+msgstr "Aggiornamento della directory di lavoro a '%s' in corso..."
#: lib/checkout_op.tcl:353
#, tcl-format
msgid "Aborted checkout of '%s' (file level merging is required)."
-msgstr "Checkout di '%s' fallito (richiesta una fusione a livello file)."
+msgstr "Attivazione di '%s' fallita (richiesta una fusione a livello file)."
#: lib/checkout_op.tcl:354
msgid "File level merge required."
@@ -825,22 +833,23 @@ msgid ""
msgstr ""
"Non si è più su un ramo locale\n"
"\n"
-"Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questo "
-"checkout staccato'."
+"Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questa "
+"revisione attiva staccata'."
#: lib/checkout_op.tcl:446
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Checked out '%s'."
-msgstr "Checkout..."
+msgstr "Attivazione di '%s' completata."
#: lib/checkout_op.tcl:478
#, tcl-format
msgid "Resetting '%s' to '%s' will lose the following commits:"
-msgstr "Ripristinare '%s' a '%s' comporterà la perdita dei seguenti commit:"
+msgstr ""
+"Ripristinare '%s' a '%s' comporterà la perdita delle seguenti revisioni:"
#: lib/checkout_op.tcl:500
msgid "Recovering lost commits may not be easy."
-msgstr "Prelevare i commit perduti potrebbe non essere semplice."
+msgstr "Ricomporre le revisioni perdute potrebbe non essere semplice."
#: lib/checkout_op.tcl:505
#, tcl-format
@@ -870,130 +879,125 @@ msgstr ""
"Questo non sarebbe dovuto succedere. %s ora terminerà senza altre azioni."
#: lib/choose_font.tcl:39
-#, fuzzy
msgid "Select"
-msgstr "Seleziona tutto"
+msgstr "Seleziona"
#: lib/choose_font.tcl:53
msgid "Font Family"
-msgstr ""
+msgstr "Famiglia di caratteri"
#: lib/choose_font.tcl:73
-#, fuzzy
msgid "Font Size"
-msgstr "Diminuisci dimensione caratteri"
+msgstr "Dimensione caratteri"
#: lib/choose_font.tcl:90
msgid "Font Example"
-msgstr ""
+msgstr "Esempio caratteri"
#: lib/choose_font.tcl:101
msgid ""
"This is example text.\n"
"If you like this text, it can be your font."
msgstr ""
+"Questo è un testo d'esempio.\n"
+"Se ti piace questo testo, può essere il carattere giusto."
#: lib/choose_repository.tcl:25
msgid "Git Gui"
-msgstr ""
+msgstr "Git Gui"
#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204
-#, fuzzy
msgid "Create New Repository"
-msgstr "Da archivio"
+msgstr "Crea nuovo archivio"
#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291
-#, fuzzy
msgid "Clone Existing Repository"
-msgstr "Archivio di destinazione"
+msgstr "Clona archivio esistente"
#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800
-#, fuzzy
msgid "Open Existing Repository"
-msgstr "Archivio di destinazione"
+msgstr "Apri archivio esistente"
#: lib/choose_repository.tcl:91
msgid "Next >"
-msgstr ""
+msgstr "Successivo >"
#: lib/choose_repository.tcl:152
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Location %s already exists."
-msgstr "Il ramo '%s' esiste già"
+msgstr "La posizione %s esiste già."
#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165
#: lib/choose_repository.tcl:172
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Failed to create repository %s:"
-msgstr "Fallimento nel salvataggio completo delle opzioni:"
+msgstr "Impossibile creare l'archivio %s:"
#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309
msgid "Directory:"
-msgstr ""
+msgstr "Directory:"
#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363
#: lib/choose_repository.tcl:834
-#, fuzzy
msgid "Git Repository"
-msgstr "Archivio"
+msgstr "Archivio Git"
#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Directory %s already exists."
-msgstr "Il ramo '%s' esiste già"
+msgstr "La directory %s esiste già."
#: lib/choose_repository.tcl:265
-#, fuzzy, tcl-format
+#, tcl-format
msgid "File %s already exists."
-msgstr "Il ramo '%s' esiste già"
+msgstr "Il file %s esiste già."
#: lib/choose_repository.tcl:286
-#, fuzzy
msgid "Clone"
-msgstr "Chiudi"
+msgstr "Clona"
#: lib/choose_repository.tcl:299
msgid "URL:"
-msgstr ""
+msgstr "URL:"
#: lib/choose_repository.tcl:319
msgid "Clone Type:"
-msgstr ""
+msgstr "Tipo di clone:"
#: lib/choose_repository.tcl:325
msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
-msgstr ""
+msgstr "Standard (veloce, semi-ridondante, con hardlink)"
#: lib/choose_repository.tcl:331
msgid "Full Copy (Slower, Redundant Backup)"
-msgstr ""
+msgstr "Copia completa (più lento, backup ridondante)"
#: lib/choose_repository.tcl:337
msgid "Shared (Fastest, Not Recommended, No Backup)"
-msgstr ""
+msgstr "Shared (il più veloce, non raccomandato, nessun backup)"
#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418
#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630
#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Not a Git repository: %s"
-msgstr "Nessun archivio selezionato."
+msgstr "%s non è un archivio Git."
#: lib/choose_repository.tcl:405
msgid "Standard only available for local repository."
-msgstr ""
+msgstr "Standard è disponibile solo per archivi locali."
#: lib/choose_repository.tcl:409
msgid "Shared only available for local repository."
-msgstr ""
+msgstr "Shared è disponibile solo per archivi locali."
#: lib/choose_repository.tcl:439
msgid "Failed to configure origin"
-msgstr ""
+msgstr "Impossibile configurare origin"
#: lib/choose_repository.tcl:451
msgid "Counting objects"
-msgstr ""
+msgstr "Calcolo oggetti"
#: lib/choose_repository.tcl:452
msgid "buckets"
@@ -1002,116 +1006,117 @@ msgstr ""
#: lib/choose_repository.tcl:476
#, tcl-format
msgid "Unable to copy objects/info/alternates: %s"
-msgstr ""
+msgstr "Impossibile copiare oggetti/info/alternate: %s"
#: lib/choose_repository.tcl:512
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Nothing to clone from %s."
-msgstr "Recupero nuove modifiche da %s"
+msgstr "Niente da clonare da %s."
#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728
#: lib/choose_repository.tcl:740
msgid "The 'master' branch has not been initialized."
-msgstr ""
+msgstr "Il ramo 'master' non è stato inizializzato."
#: lib/choose_repository.tcl:527
msgid "Hardlinks are unavailable. Falling back to copying."
-msgstr ""
+msgstr "Impossibile utilizzare gli hardlink. Si ricorrerà alla copia."
#: lib/choose_repository.tcl:539
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Cloning from %s"
-msgstr "Recupero %s da %s"
+msgstr "Clonazione da %s"
#: lib/choose_repository.tcl:570
-#, fuzzy
msgid "Copying objects"
-msgstr "Compressione del database in corso"
+msgstr "Copia degli oggetti"
#: lib/choose_repository.tcl:571
msgid "KiB"
-msgstr ""
+msgstr "KiB"
#: lib/choose_repository.tcl:595
#, tcl-format
msgid "Unable to copy object: %s"
-msgstr ""
+msgstr "Impossibile copiare oggetto: %s"
#: lib/choose_repository.tcl:605
msgid "Linking objects"
-msgstr ""
+msgstr "Collegamento oggetti"
#: lib/choose_repository.tcl:606
msgid "objects"
-msgstr ""
+msgstr "oggetti"
#: lib/choose_repository.tcl:614
#, tcl-format
msgid "Unable to hardlink object: %s"
-msgstr ""
+msgstr "Hardlink impossibile sull'oggetto: %s"
#: lib/choose_repository.tcl:669
msgid "Cannot fetch branches and objects. See console output for details."
msgstr ""
+"Impossibile recuperare rami e oggetti. Controllare i dettagli forniti dalla "
+"console."
#: lib/choose_repository.tcl:680
msgid "Cannot fetch tags. See console output for details."
msgstr ""
+"Impossibile recuperare le etichette. Controllare i dettagli forniti dalla "
+"console."
#: lib/choose_repository.tcl:704
msgid "Cannot determine HEAD. See console output for details."
msgstr ""
+"Impossibile determinare HEAD. Controllare i dettagli forniti dalla console."
#: lib/choose_repository.tcl:713
#, tcl-format
msgid "Unable to cleanup %s"
-msgstr ""
+msgstr "Impossibile ripulire %s"
#: lib/choose_repository.tcl:719
-#, fuzzy
msgid "Clone failed."
-msgstr "Interruzione fallita."
+msgstr "Clonazione fallita."
#: lib/choose_repository.tcl:726
msgid "No default branch obtained."
-msgstr ""
+msgstr "Non è stato trovato un ramo predefinito."
#: lib/choose_repository.tcl:737
#, tcl-format
msgid "Cannot resolve %s as a commit."
-msgstr ""
+msgstr "Impossibile risolvere %s come una revisione."
#: lib/choose_repository.tcl:749
-#, fuzzy
msgid "Creating working directory"
-msgstr "Nessuna directory di lavoro"
+msgstr "Creazione directory di lavoro"
#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80
#: lib/index.tcl:149
msgid "files"
-msgstr ""
+msgstr "file"
#: lib/choose_repository.tcl:779
msgid "Initial file checkout failed."
-msgstr ""
+msgstr "Attivazione iniziale impossibile."
#: lib/choose_repository.tcl:795
msgid "Open"
-msgstr ""
+msgstr "Apri"
#: lib/choose_repository.tcl:805
-#, fuzzy
msgid "Repository:"
-msgstr "Archivio"
+msgstr "Archivio:"
#: lib/choose_repository.tcl:854
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Failed to open repository %s:"
-msgstr "Fallimento nel salvataggio completo delle opzioni:"
+msgstr "Impossibile accedere all'archivio %s:"
#: lib/choose_rev.tcl:53
msgid "This Detached Checkout"
-msgstr "Questo checkout staccato"
+msgstr "Questa revisione attiva staccata"
#: lib/choose_rev.tcl:60
msgid "Revision Expression:"
@@ -1123,7 +1128,7 @@ msgstr "Ramo locale"
#: lib/choose_rev.tcl:79
msgid "Tracking Branch"
-msgstr "Ramo in 'tracking'"
+msgstr "Duplicato locale di ramo remoto"
#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537
msgid "Tag"
@@ -1144,11 +1149,11 @@ msgstr "L'espressione di revisione è vuota."
#: lib/choose_rev.tcl:530
msgid "Updated"
-msgstr ""
+msgstr "Aggiornato"
#: lib/choose_rev.tcl:558
msgid "URL"
-msgstr ""
+msgstr "URL"
#: lib/commit.tcl:9
msgid ""
@@ -1159,8 +1164,8 @@ msgid ""
msgstr ""
"Non c'è niente da correggere.\n"
"\n"
-"Stai per creare il commit iniziale. Non esiste un commit precedente da "
-"correggere.\n"
+"Stai per creare la revisione iniziale. Non esiste una revisione "
+"precedente da correggere.\n"
#: lib/commit.tcl:18
msgid ""
@@ -1173,12 +1178,12 @@ msgstr ""
"Non è possibile effettuare una correzione durante una fusione.\n"
"\n"
"In questo momento si sta effettuando una fusione che non è stata del tutto "
-"completata. Non puoi correggere il commit precedente a meno che prima tu non "
-"interrompa l'operazione di fusione in corso.\n"
+"completata. Non puoi correggere la revisione precedente a meno che prima tu "
+"non interrompa l'operazione di fusione in corso.\n"
#: lib/commit.tcl:49
msgid "Error loading commit data for amend:"
-msgstr "Errore durante il caricamento dei dati da correggere:"
+msgstr "Errore durante il caricamento dei dati della revisione da correggere:"
#: lib/commit.tcl:76
msgid "Unable to obtain your identity:"
@@ -1197,10 +1202,11 @@ msgid ""
"\n"
"The rescan will be automatically started now.\n"
msgstr ""
-"L'ultimo stato analizzato non corrisponde allo stato del repository.\n"
+"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n"
"\n"
-"Un altro programma Git ha modificato questo repository dall'ultima analisi. "
-"Bisogna effettuare una nuova analisi prima di poter creare un nuovo commit.\n"
+"Un altro programma Git ha modificato questo archivio dall'ultima analisi. "
+"Bisogna effettuare una nuova analisi prima di poter creare una nuova "
+"revisione.\n"
"\n"
"La nuova analisi comincerà ora.\n"
@@ -1212,10 +1218,10 @@ msgid ""
"File %s has merge conflicts. You must resolve them and stage the file "
"before committing.\n"
msgstr ""
-"Non è possibile effettuare il commit di file non sottoposti a fusione.\n"
+"Non è possibile creare una revisione con file non sottoposti a fusione.\n"
"\n"
"Il file %s presenta dei conflitti. Devi risolverli e preparare il file per "
-"il commit prima di effettuare questa azione.\n"
+"creare una nuova revisione prima di effettuare questa azione.\n"
#: lib/commit.tcl:162
#, tcl-format
@@ -1226,7 +1232,7 @@ msgid ""
msgstr ""
"Stato di file %s sconosciuto.\n"
"\n"
-"Non si può effettuare il commit del file %s con questo programma.\n"
+"Questo programma non può creare una revisione contenente il file %s.\n"
#: lib/commit.tcl:170
msgid ""
@@ -1234,9 +1240,9 @@ msgid ""
"\n"
"You must stage at least 1 file before you can commit.\n"
msgstr ""
-"Nessuna modifica per la quale effettuare il commit.\n"
+"Nessuna modifica per la nuova revisione.\n"
"\n"
-"Devi preparare per il commit almeno 1 file prima di effettuare questa "
+"Devi preparare per una nuova revisione almeno 1 file prima di effettuare questa "
"operazione.\n"
#: lib/commit.tcl:183
@@ -1249,13 +1255,13 @@ msgid ""
"- Second line: Blank\n"
"- Remaining lines: Describe why this change is good.\n"
msgstr ""
-"Bisogna fornire un messaggio di commit.\n"
+"Bisogna fornire un messaggio di revisione.\n"
"\n"
-"Un buon messaggio di commit ha il seguente formato:\n"
+"Un buon messaggio di revisione ha il seguente formato:\n"
"\n"
"- Prima linea: descrivi in una frase ciò che hai fatto.\n"
"- Seconda linea: vuota.\n"
-"- Terza linea: spiga a cosa serve la tua modifica.\n"
+"- Terza linea: spiega a cosa serve la tua modifica.\n"
#: lib/commit.tcl:257
msgid "write-tree failed:"
@@ -1264,7 +1270,7 @@ msgstr "write-tree fallito:"
#: lib/commit.tcl:275
#, tcl-format
msgid "Commit %s appears to be corrupt"
-msgstr ""
+msgstr "La revisione %s sembra essere corrotta"
#: lib/commit.tcl:279
msgid ""
@@ -1274,20 +1280,20 @@ msgid ""
"\n"
"A rescan will be automatically started now.\n"
msgstr ""
-"Nessuna modifica pronta per il commit.\n"
+"Nessuna modifica per la nuova revisione.\n"
"\n"
-"Questo commit non modifica alcun file e non effettua alcuna fusione.\n"
+"Questa revisione non modifica alcun file e non effettua alcuna fusione.\n"
"\n"
"Si procederà subito ad una nuova analisi.\n"
#: lib/commit.tcl:286
msgid "No changes to commit."
-msgstr "Nessuna modifica pronta per il commit."
+msgstr "Nessuna modifica per la nuova revisione."
#: lib/commit.tcl:303
#, tcl-format
msgid "warning: Tcl does not support encoding '%s'."
-msgstr ""
+msgstr "attenzione: Tcl non supporta la codifica '%s'."
#: lib/commit.tcl:317
msgid "commit-tree failed:"
@@ -1300,7 +1306,7 @@ msgstr "update-ref fallito:"
#: lib/commit.tcl:430
#, tcl-format
msgid "Created commit %s: %s"
-msgstr "Creato commit %s: %s"
+msgstr "Creata revisione %s: %s"
#: lib/console.tcl:57
msgid "Working... please wait..."
@@ -1344,7 +1350,7 @@ msgstr "File inutili"
#: lib/database.tcl:72
msgid "Compressing the object database"
-msgstr "Compressione del database in corso"
+msgstr "Compressione dell'archivio in corso"
#: lib/database.tcl:83
msgid "Verifying the object database with fsck-objects"
@@ -1360,11 +1366,17 @@ msgid ""
"\n"
"Compress the database now?"
msgstr ""
+"Questo archivio attualmente ha circa %i oggetti slegati.\n"
+"\n"
+"Per mantenere buone prestazioni si raccomanda di comprimere l'archivio "
+"quando sono presenti più di %i oggetti slegati.\n"
+"\n"
+"Comprimere l'archivio ora?"
#: lib/date.tcl:25
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Invalid date from Git: %s"
-msgstr "Revisione non valida: %s"
+msgstr "Git ha restituito una data non valida: %s"
#: lib/diff.tcl:42
#, tcl-format
@@ -1390,14 +1402,14 @@ msgstr ""
"potrebbero avere lo stesso stato."
#: lib/diff.tcl:81
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Loading diff of %s..."
-msgstr "Caricamento %s..."
+msgstr "Caricamento delle differenze di %s..."
#: lib/diff.tcl:114 lib/diff.tcl:184
#, tcl-format
msgid "Unable to display %s"
-msgstr ""
+msgstr "Impossibile visualizzare %s"
#: lib/diff.tcl:115
msgid "Error loading file:"
@@ -1405,11 +1417,11 @@ msgstr "Errore nel caricamento del file:"
#: lib/diff.tcl:122
msgid "Git Repository (subproject)"
-msgstr ""
+msgstr "Archivio Git (sottoprogetto)"
#: lib/diff.tcl:134
msgid "* Binary file (not showing content)."
-msgstr ""
+msgstr "* File binario (il contenuto non sarà mostrato)."
#: lib/diff.tcl:185
msgid "Error loading diff:"
@@ -1417,11 +1429,11 @@ msgstr "Errore nel caricamento delle differenze:"
#: lib/diff.tcl:302
msgid "Failed to unstage selected hunk."
-msgstr "La sezione scelta è ancora pronta per il commit."
+msgstr "La sezione scelta è ancora pronta per una nuova revisione."
#: lib/diff.tcl:309
msgid "Failed to stage selected hunk."
-msgstr "La sezione scelta non è ancora pronta per il commit."
+msgstr "Impossibile preparare la sezione scelta per una nuova revisione."
#: lib/error.tcl:12 lib/error.tcl:102
msgid "error"
@@ -1429,21 +1441,21 @@ msgstr "errore"
#: lib/error.tcl:28
msgid "warning"
-msgstr "avviso"
+msgstr "attenzione"
#: lib/error.tcl:81
msgid "You must correct the above errors before committing."
-msgstr "Bisogna correggere gli errori suddetti prima di effettuare un commit."
+msgstr "Bisogna correggere gli errori suddetti prima di creare una nuova revisione."
#: lib/index.tcl:241
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Unstaging %s from commit"
-msgstr "Non pronto per il commit"
+msgstr "%s non farà parte della prossima revisione"
#: lib/index.tcl:285
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Adding %s"
-msgstr "Lettura di %s..."
+msgstr "Aggiunta di %s in corso"
#: lib/index.tcl:340
#, tcl-format
@@ -1458,7 +1470,8 @@ msgstr "Annullare le modifiche in questi %i file?"
#: lib/index.tcl:348
msgid "Any unstaged changes will be permanently lost by the revert."
msgstr ""
-"Tutte le modifiche non preparate per il commit saranno perse per sempre."
+"Tutte le modifiche non preparate per una nuova revisione saranno perse per "
+"sempre."
#: lib/index.tcl:351
msgid "Do Nothing"
@@ -1472,8 +1485,8 @@ msgid ""
msgstr ""
"Non posso effettuare fusioni durante una correzione.\n"
"\n"
-"Bisogna finire di correggere questo commit prima di iniziare una qualunque "
-"fusione.\n"
+"Bisogna finire di correggere questa revisione prima di iniziare una "
+"qualunque fusione.\n"
#: lib/merge.tcl:27
msgid ""
@@ -1484,9 +1497,9 @@ msgid ""
"\n"
"The rescan will be automatically started now.\n"
msgstr ""
-"L'ultimo stato analizzato non corrisponde allo stato del repository.\n"
+"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n"
"\n"
-"Un altro programma Git ha modificato questo repository dall'ultima analisi."
+"Un altro programma Git ha modificato questo archivio dall'ultima analisi."
"Bisogna effettuare una nuova analisi prima di poter effettuare una fusione.\n"
"\n"
"La nuova analisi comincerà ora.\n"
@@ -1505,8 +1518,8 @@ msgstr ""
"\n"
"Il file %s ha dei conflitti.\n"
"\n"
-"Bisogna risolvere i conflitti, preparare il file per il commit ed infine "
-"effettuare un commit per completare la fusione corrente. Solo a questo punto "
+"Bisogna risolvere i conflitti, preparare il file per una nuova revisione ed "
+"infine crearla per completare la fusione corrente. Solo a questo punto "
"potrai iniziare un'altra fusione.\n"
#: lib/merge.tcl:54
@@ -1523,9 +1536,9 @@ msgstr ""
"\n"
"Il file %s è stato modificato.\n"
"\n"
-"Bisogna completare il commit corrente prima di iniziare una fusione. In "
-"questo modo sarà più facile interrompere una fusione non riuscita, nel caso "
-"ce ne fosse bisogno.\n"
+"Bisogna completare la creazione della revisione corrente prima di iniziare una fusione. "
+"In questo modo sarà più facile interrompere una fusione non riuscita, nel "
+"caso ce ne fosse bisogno.\n"
#: lib/merge.tcl:106
#, tcl-format
@@ -1562,7 +1575,7 @@ msgid ""
msgstr ""
"Interruzione impossibile durante una correzione.\n"
"\n"
-"Bisogna finire di correggere questo commit.\n"
+"Bisogna finire di correggere questa revisione.\n"
#: lib/merge.tcl:222
msgid ""
@@ -1575,7 +1588,7 @@ msgstr ""
"Interrompere fusione?\n"
"\n"
"L'interruzione della fusione corrente causerà la perdita di *TUTTE* le "
-"modifiche non ancora presenti nei commit.\n"
+"modifiche non ancora presenti nell'archivio.\n"
"\n"
"Continuare con l'interruzione della fusione corrente?"
@@ -1587,10 +1600,10 @@ msgid ""
"\n"
"Continue with resetting the current changes?"
msgstr ""
-"Annullare le modifiche?\n"
+"Ripristinare la revisione corrente e annullare le modifiche?\n"
"\n"
"L'annullamento delle modifiche causerà la perdita di *TUTTE* le modifiche "
-"non ancora presenti nei commit.\n"
+"non ancora presenti nell'archivio.\n"
"\n"
"Continuare con l'annullamento delle modifiche correnti?"
@@ -1617,11 +1630,11 @@ msgstr "Salva"
#: lib/option.tcl:96
#, tcl-format
msgid "%s Repository"
-msgstr "%s archivio"
+msgstr "Archivio di %s"
#: lib/option.tcl:97
msgid "Global (All Repositories)"
-msgstr "Globale (Tutti i repository)"
+msgstr "Tutti gli archivi"
#: lib/option.tcl:103
msgid "User Name"
@@ -1633,11 +1646,11 @@ msgstr "Indirizzo Email"
#: lib/option.tcl:106
msgid "Summarize Merge Commits"
-msgstr "Riepilogo nei commit di fusione"
+msgstr "Riepilogo nelle revisioni di fusione"
#: lib/option.tcl:107
msgid "Merge Verbosity"
-msgstr "Verbosità della fusione"
+msgstr "Prolissità della fusione"
#: lib/option.tcl:108
msgid "Show Diffstat After Merge"
@@ -1649,11 +1662,12 @@ msgstr "Fidati delle date di modifica dei file"
#: lib/option.tcl:111
msgid "Prune Tracking Branches During Fetch"
-msgstr "Effettua potatura dei rami in 'tracking' durante il recupero"
+msgstr ""
+"Effettua potatura dei duplicati locali di rami remoti durante il recupero"
#: lib/option.tcl:112
msgid "Match Tracking Branches"
-msgstr "Appaia rami in 'tracking'"
+msgstr "Appaia duplicati locali di rami remoti"
#: lib/option.tcl:113
msgid "Number of Diff Context Lines"
@@ -1664,41 +1678,37 @@ msgid "New Branch Name Template"
msgstr "Modello per il nome di un nuovo ramo"
#: lib/option.tcl:176
-#, fuzzy
msgid "Change Font"
-msgstr "Caratteri principali"
+msgstr "Cambia caratteri"
#: lib/option.tcl:180
#, tcl-format
msgid "Choose %s"
-msgstr ""
+msgstr "Scegli %s"
#: lib/option.tcl:186
msgid "pt."
-msgstr ""
+msgstr "pt."
#: lib/option.tcl:200
msgid "Preferences"
-msgstr ""
+msgstr "Preferenze"
#: lib/option.tcl:235
msgid "Failed to completely save options:"
-msgstr "Fallimento nel salvataggio completo delle opzioni:"
+msgstr "Impossibile salvare completamente le opzioni:"
#: lib/remote.tcl:165
-#, fuzzy
msgid "Prune from"
-msgstr "Effettua potatura da %s..."
+msgstr "Effettua potatura da"
#: lib/remote.tcl:170
-#, fuzzy
msgid "Fetch from"
-msgstr "Preleva da %s..."
+msgstr "Recupera da"
#: lib/remote.tcl:213
-#, fuzzy
msgid "Push to"
-msgstr "Propaga (Push)"
+msgstr "Propaga verso"
#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
msgid "Delete Remote Branch"
@@ -1714,7 +1724,7 @@ msgstr "Remoto:"
#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138
msgid "Arbitrary URL:"
-msgstr "URL arbitrario:"
+msgstr "URL specifico:"
#: lib/remote_branch_delete.tcl:84
msgid "Branches"
@@ -1730,19 +1740,22 @@ msgstr "Fuso in:"
#: lib/remote_branch_delete.tcl:119
msgid "Always (Do not perform merge checks)"
-msgstr "Sempre (Non effettuare controlli durante la fusione)"
+msgstr "Sempre (non verificare le fusioni)"
#: lib/remote_branch_delete.tcl:152
msgid "A branch is required for 'Merged Into'."
msgstr "Si richiede un ramo per 'Fuso in'."
#: lib/remote_branch_delete.tcl:184
-#, fuzzy, tcl-format
+#, tcl-format
msgid ""
"The following branches are not completely merged into %s:\n"
"\n"
" - %s"
-msgstr "I rami seguenti non sono stati fusi completamente in %s:"
+msgstr ""
+"I rami seguenti non sono stati fusi completamente in %s:\n"
+"\n"
+" - %s"
#: lib/remote_branch_delete.tcl:189
#, tcl-format
@@ -1750,8 +1763,8 @@ msgid ""
"One or more of the merge tests failed because you have not fetched the "
"necessary commits. Try fetching from %s first."
msgstr ""
-"Una o più verifiche di fusione sono fallite perché mancano i commit "
-"necessari. Prova prima a prelevarli da %s."
+"Una o più verifiche di fusione sono fallite perché mancano le revisioni "
+"necessarie. Prova prima a recuperarle da %s."
#: lib/remote_branch_delete.tcl:207
msgid "Please select one or more branches to delete."
@@ -1763,7 +1776,7 @@ msgid ""
"\n"
"Delete the selected branches?"
msgstr ""
-"Prelevare rami cancellati è difficile.\n"
+"Ricomporre rami cancellati è difficile.\n"
"\n"
"Cancellare i rami selezionati?"
@@ -1795,9 +1808,9 @@ msgid "%s ... %*i of %*i %s (%3i%%)"
msgstr "%s ... %*i di %*i %s (%3i%%)"
#: lib/transport.tcl:6
-#, fuzzy, tcl-format
+#, tcl-format
msgid "fetch %s"
-msgstr "Preleva (Fetch)"
+msgstr "recupera da %s"
#: lib/transport.tcl:7
#, tcl-format
@@ -1807,17 +1820,17 @@ msgstr "Recupero nuove modifiche da %s"
#: lib/transport.tcl:18
#, tcl-format
msgid "remote prune %s"
-msgstr ""
+msgstr "potatura remota di %s"
#: lib/transport.tcl:19
#, tcl-format
msgid "Pruning tracking branches deleted from %s"
-msgstr "Effettua potatura dei rami in 'tracking' cancellati da %s"
+msgstr "Effettua potatura dei duplicati locali di rami remoti cancellati da %s"
#: lib/transport.tcl:25 lib/transport.tcl:71
#, tcl-format
msgid "push %s"
-msgstr ""
+msgstr "propaga verso %s"
#: lib/transport.tcl:26
#, tcl-format
@@ -1847,7 +1860,7 @@ msgstr "Opzioni di trasferimento"
#: lib/transport.tcl:160
msgid "Force overwrite existing branch (may discard changes)"
-msgstr ""
+msgstr "Sovrascrivi ramo esistente (alcune modifiche potrebbero essere perse)"
#: lib/transport.tcl:164
msgid "Use thin pack (for slow network connections)"
@@ -1857,11 +1870,3 @@ msgstr "Utilizza 'thin pack' (per connessioni lente)"
msgid "Include tags"
msgstr "Includi etichette"
-#~ msgid "Cannot find the git directory:"
-#~ msgstr "Non posso trovare la directory di git:"
-
-#~ msgid "Unstaged Changes (Will Not Be Committed)"
-#~ msgstr "Modifiche non preparate (non ne verrà effettuato il commit)"
-
-#~ msgid "Push to %s..."
-#~ msgstr "Propaga verso %s..."
--
1.5.3.4
^ permalink raw reply related
* git branch performance problem?
From: Han-Wen Nienhuys @ 2007-10-10 20:22 UTC (permalink / raw)
To: git
Hello,
I'm seeing very slow performance with 'git-branch'. Is this the
canonical way to find out the current branch? ( I know I can look into
.git/HEAD, but how likely is that to break in the future?)
hanwen@lilypond:/tmp/z$ time git branch
* foo
master
real 0m0.307s
user 0m0.232s
sys 0m0.038s
hanwen@lilypond:/tmp/z$ git --version
git version 1.5.1.rc1.949.g322bc
On NFS this takes 5 seconds. Note that I have a humongous amount of
remotes, but those should not be examined without -r, right?
hanwen@lilypond:/tmp/z$ find .git/refs/remotes | wc -l
1856
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
^ permalink raw reply
* Re: git branch performance problem?
From: Lars Hjemli @ 2007-10-10 20:44 UTC (permalink / raw)
To: hanwen; +Cc: git
In-Reply-To: <f329bf540710101322xdea6210x5576779f2efd89b7@mail.gmail.com>
On 10/10/07, Han-Wen Nienhuys <hanwenn@gmail.com> wrote:
> I'm seeing very slow performance with 'git-branch'. Is this the
> canonical way to find out the current branch?
You could also try 'git symbolic-ref HEAD', but see below...
> hanwen@lilypond:/tmp/z$ find .git/refs/remotes | wc -l
> 1856
You probably want to run 'git gc' (which will run 'git pack-refs',
i.e. put all files currently under .git/refs into a single file). This
should speed up 'git branch' (and quite possibly other commands too).
--
larsh
^ permalink raw reply
* Re: Adding color to git-add--interactive
From: Alex Riesen @ 2007-10-10 21:09 UTC (permalink / raw)
To: Jeff King; +Cc: Johannes Schindelin, Jonathan del Strother, Git Mailing List
In-Reply-To: <20071010170621.GA5444@coredump.intra.peff.net>
Jeff King, Wed, Oct 10, 2007 19:06:21 +0200:
> On Wed, Oct 10, 2007 at 04:06:09PM +0100, Johannes Schindelin wrote:
>
> > I think the reason git-add--interactive does not use it is that some
> > people (me included) experienced heavy problems with perl modules.
> > However, I do not recall to which extent they have been solved. I guess
> > when git-add--interactive goes Git.pm and stops working for me, I'll do my
> > famous "aargh, I'll just make it a builtin" song.
>
> I had thought this was the case, too (and in fact, I started to write
> "we don't have a good solution for sharing perl code"), but it looks
> like git-remote, git-svn, and git-send-email are all using Git.pm these
> days.
>
And strangely enough, git-remote is even usable on cygwin.
Can't say for others though.
^ permalink raw reply
* Re: git branch performance problem?
From: Han-Wen Nienhuys @ 2007-10-10 21:17 UTC (permalink / raw)
To: Lars Hjemli; +Cc: git
In-Reply-To: <8c5c35580710101344t3aed4214h4f999072483c4cb5@mail.gmail.com>
2007/10/10, Lars Hjemli <hjemli@gmail.com>:
> On 10/10/07, Han-Wen Nienhuys <hanwenn@gmail.com> wrote:
> > I'm seeing very slow performance with 'git-branch'. Is this the
> > canonical way to find out the current branch?
>
> You could also try 'git symbolic-ref HEAD', but see below...
>
> > hanwen@lilypond:/tmp/z$ find .git/refs/remotes | wc -l
> > 1856
>
> You probably want to run 'git gc' (which will run 'git pack-refs',
> i.e. put all files currently under .git/refs into a single file). This
> should speed up 'git branch' (and quite possibly other commands too).
This seems rather unuseful. After running gc pack-refs --all, I lost my HEAD,
hanwen@lilypond:~/vc/git5$ git show HEAD
fatal: ambiguous argument 'HEAD': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions
Is there a way to only pack refs under a certain subdirectory of .git/refs ?
(I'm thinking of .git/refs/remotes )
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
^ permalink raw reply
* [PATCH] Fixing path quoting issues
From: maillist @ 2007-10-10 21:22 UTC (permalink / raw)
To: git; +Cc: Jonathan del Strother
From: Jonathan del Strother <jon.delStrother@bestbefore.tv>
git-rebase and a number of tests didn't properly quote paths, leading to problems when run from a path with a space in.
Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
---
git-rebase.sh | 26 +++++-----
t/t1020-subdirectory.sh | 22 ++++----
t/t3050-subprojects-fetch.sh | 2 +-
t/t3404-rebase-interactive.sh | 2 +-
t/t5500-fetch-pack.sh | 2 +-
t/t5700-clone-reference.sh | 2 +-
t/t7003-filter-branch.sh | 2 +-
t/t7501-commit.sh | 74 +++++++++++++++---------------
t/t9100-git-svn-basic.sh | 18 ++++----
t/t9101-git-svn-props.sh | 6 +-
t/t9102-git-svn-deep-rmdir.sh | 6 +-
t/t9104-git-svn-follow-parent.sh | 50 ++++++++++----------
t/t9105-git-svn-commit-diff.sh | 10 ++--
t/t9106-git-svn-commit-diff-clobber.sh | 14 +++---
t/t9107-git-svn-migrate.sh | 40 ++++++++--------
t/t9108-git-svn-glob.sh | 8 ++--
t/t9110-git-svn-use-svm-props.sh | 8 ++--
t/t9111-git-svn-use-svnsync-props.sh | 8 ++--
t/t9112-git-svn-md5less-file.sh | 4 +-
t/t9113-git-svn-dcommit-new-file.sh | 6 +-
t/t9114-git-svn-dcommit-merge.sh | 4 +-
t/t9115-git-svn-dcommit-funky-renames.sh | 4 +-
t/t9116-git-svn-log.sh | 4 +-
t/test-lib.sh | 2 +-
24 files changed, 162 insertions(+), 162 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 1583402..b48397e 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -59,7 +59,7 @@ continue_merge () {
die "$RESOLVEMSG"
fi
- cmt=`cat $dotest/current`
+ cmt=`cat "$dotest/current"`
if ! git diff-index --quiet HEAD
then
if ! git-commit -C "$cmt"
@@ -84,14 +84,14 @@ continue_merge () {
}
call_merge () {
- cmt="$(cat $dotest/cmt.$1)"
+ cmt="$(cat "$dotest/cmt.$1")"
echo "$cmt" > "$dotest/current"
hd=$(git rev-parse --verify HEAD)
cmt_name=$(git symbolic-ref HEAD)
- msgnum=$(cat $dotest/msgnum)
- end=$(cat $dotest/end)
+ msgnum=$(cat "$dotest/msgnum")
+ end=$(cat "$dotest/end")
eval GITHEAD_$cmt='"${cmt_name##refs/heads/}~$(($end - $msgnum))"'
- eval GITHEAD_$hd='"$(cat $dotest/onto_name)"'
+ eval GITHEAD_$hd='"$(cat \"$dotest/onto_name\")"'
export GITHEAD_$cmt GITHEAD_$hd
git-merge-$strategy "$cmt^" -- "$hd" "$cmt"
rv=$?
@@ -140,10 +140,10 @@ do
}
if test -d "$dotest"
then
- prev_head="`cat $dotest/prev_head`"
- end="`cat $dotest/end`"
- msgnum="`cat $dotest/msgnum`"
- onto="`cat $dotest/onto`"
+ prev_head="`cat \"$dotest/prev_head\"`"
+ end="`cat \"$dotest/end\"`"
+ msgnum="`cat \"$dotest/msgnum\"`"
+ onto="`cat \"$dotest/onto\"`"
continue_merge
while test "$msgnum" -le "$end"
do
@@ -160,11 +160,11 @@ do
if test -d "$dotest"
then
git rerere clear
- prev_head="`cat $dotest/prev_head`"
- end="`cat $dotest/end`"
- msgnum="`cat $dotest/msgnum`"
+ prev_head="`cat \"$dotest/prev_head\"`"
+ end="`cat \"$dotest/end\"`"
+ msgnum="`cat \"$dotest/msgnum\"`"
msgnum=$(($msgnum + 1))
- onto="`cat $dotest/onto`"
+ onto="`cat \"$dotest/onto\"`"
while test "$msgnum" -le "$end"
do
call_merge "$msgnum"
diff --git a/t/t1020-subdirectory.sh b/t/t1020-subdirectory.sh
index b9cef34..5ed7fa4 100755
--- a/t/t1020-subdirectory.sh
+++ b/t/t1020-subdirectory.sh
@@ -21,7 +21,7 @@ LF='
'
test_expect_success 'update-index and ls-files' '
- cd $HERE &&
+ cd "$HERE" &&
git update-index --add one &&
case "`git ls-files`" in
one) echo ok one ;;
@@ -41,7 +41,7 @@ test_expect_success 'update-index and ls-files' '
'
test_expect_success 'cat-file' '
- cd $HERE &&
+ cd "$HERE" &&
two=`git ls-files -s dir/two` &&
two=`expr "$two" : "[0-7]* \\([0-9a-f]*\\)"` &&
echo "$two" &&
@@ -54,7 +54,7 @@ test_expect_success 'cat-file' '
rm -f actual dir/actual
test_expect_success 'diff-files' '
- cd $HERE &&
+ cd "$HERE" &&
echo a >>one &&
echo d >>dir/two &&
case "`git diff-files --name-only`" in
@@ -74,7 +74,7 @@ test_expect_success 'diff-files' '
'
test_expect_success 'write-tree' '
- cd $HERE &&
+ cd "$HERE" &&
top=`git write-tree` &&
echo $top &&
cd dir &&
@@ -84,7 +84,7 @@ test_expect_success 'write-tree' '
'
test_expect_success 'checkout-index' '
- cd $HERE &&
+ cd "$HERE" &&
git checkout-index -f -u one &&
cmp one original.one &&
cd dir &&
@@ -93,7 +93,7 @@ test_expect_success 'checkout-index' '
'
test_expect_success 'read-tree' '
- cd $HERE &&
+ cd "$HERE" &&
rm -f one dir/two &&
tree=`git write-tree` &&
git read-tree --reset -u "$tree" &&
@@ -107,27 +107,27 @@ test_expect_success 'read-tree' '
'
test_expect_success 'no file/rev ambiguity check inside .git' '
- cd $HERE &&
+ cd "$HERE" &&
git commit -a -m 1 &&
- cd $HERE/.git &&
+ cd "$HERE/.git" &&
git show -s HEAD
'
test_expect_success 'no file/rev ambiguity check inside a bare repo' '
- cd $HERE &&
+ cd "$HERE" &&
git clone -s --bare .git foo.git &&
cd foo.git && GIT_DIR=. git show -s HEAD
'
# This still does not work as it should...
: test_expect_success 'no file/rev ambiguity check inside a bare repo' '
- cd $HERE &&
+ cd "$HERE" &&
git clone -s --bare .git foo.git &&
cd foo.git && git show -s HEAD
'
test_expect_success 'detection should not be fooled by a symlink' '
- cd $HERE &&
+ cd "$HERE" &&
rm -fr foo.git &&
git clone -s .git another &&
ln -s another yetanother &&
diff --git a/t/t3050-subprojects-fetch.sh b/t/t3050-subprojects-fetch.sh
index 34f26a8..4b74cc6 100755
--- a/t/t3050-subprojects-fetch.sh
+++ b/t/t3050-subprojects-fetch.sh
@@ -20,7 +20,7 @@ test_expect_success setup '
'
test_expect_success clone '
- git clone file://`pwd`/.git cloned &&
+ git clone "file://`pwd`/.git" cloned &&
(git rev-parse HEAD; git ls-files -s) >expected &&
(
cd cloned &&
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 1113904..f321787 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -92,7 +92,7 @@ done
EOF
chmod a+x fake-editor.sh
-VISUAL="$(pwd)/fake-editor.sh"
+VISUAL="'$(pwd)/fake-editor.sh'"
export VISUAL
test_expect_success 'no changes are a nop' '
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index 7b6798d..5489ffe 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -129,7 +129,7 @@ pull_to_client 2nd "B" $((64*3))
pull_to_client 3rd "A" $((1*3)) # old fails
-test_expect_success "clone shallow" "git-clone --depth 2 file://`pwd`/. shallow"
+test_expect_success "clone shallow" "git-clone --depth 2 \"file://`pwd`/.\" shallow"
(cd shallow; git count-objects -v) > count.shallow
diff --git a/t/t5700-clone-reference.sh b/t/t5700-clone-reference.sh
index 4e93aaa..8bb34f9 100755
--- a/t/t5700-clone-reference.sh
+++ b/t/t5700-clone-reference.sh
@@ -51,7 +51,7 @@ diff expected current'
cd "$base_dir"
test_expect_success 'cloning with reference (no -l -s)' \
-'git clone --reference B file://`pwd`/A D'
+'git clone --reference B "file://`pwd`/A" D'
cd "$base_dir"
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
index e935b20..1ab5392 100755
--- a/t/t7003-filter-branch.sh
+++ b/t/t7003-filter-branch.sh
@@ -107,7 +107,7 @@ test_expect_success 'use index-filter to move into a subdirectory' '
"git ls-files -s | sed \"s-\\t-&newsubdir/-\" |
GIT_INDEX_FILE=\$GIT_INDEX_FILE.new \
git update-index --index-info &&
- mv \$GIT_INDEX_FILE.new \$GIT_INDEX_FILE" directorymoved &&
+ mv \"\$GIT_INDEX_FILE.new\" \"\$GIT_INDEX_FILE\"" directorymoved &&
test -z "$(git diff HEAD directorymoved:newsubdir)"'
test_expect_success 'stops when msg filter fails' '
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
index b151b51..f3d0ab9 100644
--- a/t/t7501-commit.sh
+++ b/t/t7501-commit.sh
@@ -69,7 +69,7 @@ test_expect_success \
cat >editor <<\EOF
#!/bin/sh
-sed -i -e "s/a file/an amend commit/g" $1
+sed -i -e "s/a file/an amend commit/g" "$1"
EOF
chmod 755 editor
@@ -80,40 +80,40 @@ test_expect_success \
test_expect_failure \
"passing -m and -F" \
"echo 'enough with the bongos' >file && \
- git-commit -F msg -m amending ."
+ git-commit -F msg -m amending ."
test_expect_success \
- "using message from other commit" \
- "git-commit -C HEAD^ ."
+ "using message from other commit" \
+ "git-commit -C HEAD^ ."
cat >editor <<\EOF
#!/bin/sh
-sed -i -e "s/amend/older/g" $1
+sed -i -e "s/amend/older/g" "$1"
EOF
chmod 755 editor
test_expect_success \
- "editing message from other commit" \
- "echo 'hula hula' >file && \
- VISUAL=./editor git-commit -c HEAD^ -a"
+ "editing message from other commit" \
+ "echo 'hula hula' >file && \
+ VISUAL=./editor git-commit -c HEAD^ -a"
test_expect_success \
- "message from stdin" \
- "echo 'silly new contents' >file && \
- echo commit message from stdin | git-commit -F - -a"
+ "message from stdin" \
+ "echo 'silly new contents' >file && \
+ echo commit message from stdin | git-commit -F - -a"
test_expect_success \
- "overriding author from command line" \
- "echo 'gak' >file && \
- git-commit -m 'author' --author 'Rubber Duck <rduck@convoy.org>' -a"
+ "overriding author from command line" \
+ "echo 'gak' >file && \
+ git-commit -m 'author' --author 'Rubber Duck <rduck@convoy.org>' -a"
test_expect_success \
- "interactive add" \
- "echo 7 | git-commit --interactive | grep 'What now'"
+ "interactive add" \
+ "echo 7 | git-commit --interactive | grep 'What now'"
test_expect_success \
- "showing committed revisions" \
- "git-rev-list HEAD >current"
+ "showing committed revisions" \
+ "git-rev-list HEAD >current"
# We could just check the head sha1, but checking each commit makes it
# easier to isolate bugs.
@@ -128,38 +128,38 @@ d381ac431806e53f3dd7ac2f1ae0534f36d738b9
EOF
test_expect_success \
- 'validate git-rev-list output.' \
- 'diff current expected'
+ 'validate git-rev-list output.' \
+ 'diff current expected'
test_expect_success 'partial commit that involves removal (1)' '
- git rm --cached file &&
- mv file elif &&
- git add elif &&
- git commit -m "Partial: add elif" elif &&
- git diff-tree --name-status HEAD^ HEAD >current &&
- echo "A elif" >expected &&
- diff expected current
+ git rm --cached file &&
+ mv file elif &&
+ git add elif &&
+ git commit -m "Partial: add elif" elif &&
+ git diff-tree --name-status HEAD^ HEAD >current &&
+ echo "A elif" >expected &&
+ diff -b expected current
'
test_expect_success 'partial commit that involves removal (2)' '
- git commit -m "Partial: remove file" file &&
- git diff-tree --name-status HEAD^ HEAD >current &&
- echo "D file" >expected &&
- diff expected current
+ git commit -m "Partial: remove file" file &&
+ git diff-tree --name-status HEAD^ HEAD >current &&
+ echo "D file" >expected &&
+ diff -b expected current
'
test_expect_success 'partial commit that involves removal (3)' '
- git rm --cached elif &&
- echo elif >elif &&
- git commit -m "Partial: modify elif" elif &&
- git diff-tree --name-status HEAD^ HEAD >current &&
- echo "M elif" >expected &&
- diff expected current
+ git rm --cached elif &&
+ echo elif >elif &&
+ git commit -m "Partial: modify elif" elif &&
+ git diff-tree --name-status HEAD^ HEAD >current &&
+ echo "M elif" >expected &&
+ diff -b expected current
'
diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index 614cf50..c3585da 100755
--- a/t/t9100-git-svn-basic.sh
+++ b/t/t9100-git-svn-basic.sh
@@ -31,16 +31,16 @@ test_expect_success \
echo 'zzz' > bar/zzz &&
echo '#!/bin/sh' > exec.sh &&
chmod +x exec.sh &&
- svn import -m 'import for git-svn' . $svnrepo >/dev/null &&
+ svn import -m 'import for git-svn' . '$svnrepo' >/dev/null &&
cd .. &&
rm -rf import &&
- git-svn init $svnrepo"
+ git-svn init '$svnrepo'"
test_expect_success \
'import an SVN revision into git' \
'git-svn fetch'
-test_expect_success "checkout from svn" "svn co $svnrepo '$SVN_TREE'"
+test_expect_success "checkout from svn" "svn co '$svnrepo' '$SVN_TREE'"
name='try a deep --rmdir with a commit'
test_expect_success "$name" "
@@ -169,7 +169,7 @@ test_expect_success "$name" "
svn up '$SVN_TREE' &&
test -f '$SVN_TREE'/exec-2.sh &&
test ! -L '$SVN_TREE'/exec-2.sh &&
- git diff help $SVN_TREE/exec-2.sh"
+ git diff help '$SVN_TREE/exec-2.sh'"
if test "$have_utf8" = t
then
@@ -190,7 +190,7 @@ name='test fetch functionality (svn => git) with alternate GIT_SVN_ID'
GIT_SVN_ID=alt
export GIT_SVN_ID
test_expect_success "$name" \
- "git-svn init $svnrepo && git-svn fetch &&
+ "git-svn init '$svnrepo' && git-svn fetch &&
git rev-list --pretty=raw remotes/git-svn | grep ^tree | uniq > a &&
git rev-list --pretty=raw remotes/alt | grep ^tree | uniq > b &&
git diff a b"
@@ -220,16 +220,16 @@ test_expect_failure 'exit if remote refs are ambigious' "
"
test_expect_failure 'exit if init-ing a would clobber a URL' "
- svnadmin create ${PWD}/svnrepo2 &&
- svn mkdir -m 'mkdir bar' ${svnrepo}2/bar &&
+ svnadmin create '${PWD}/svnrepo2' &&
+ svn mkdir -m 'mkdir bar' '${svnrepo}2/bar' &&
git config --unset svn-remote.svn.fetch \
'^bar:refs/remotes/git-svn$' &&
- git-svn init ${svnrepo}2/bar
+ git-svn init '${svnrepo}2/bar'
"
test_expect_success \
'init allows us to connect to another directory in the same repo' "
- git-svn init --minimize-url -i bar $svnrepo/bar &&
+ git-svn init --minimize-url -i bar '$svnrepo/bar' &&
git config --get svn-remote.svn.fetch \
'^bar:refs/remotes/bar$' &&
git config --get svn-remote.svn.fetch \
diff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh
index 5aac644..a1c85e0 100755
--- a/t/t9101-git-svn-props.sh
+++ b/t/t9101-git-svn-props.sh
@@ -52,7 +52,7 @@ EOF
cd ..
rm -rf import
-test_expect_success 'checkout working copy from svn' "svn co $svnrepo test_wc"
+test_expect_success 'checkout working copy from svn' "svn co '$svnrepo' test_wc"
test_expect_success 'setup some commits to svn' \
'cd test_wc &&
echo Greetings >> kw.c &&
@@ -66,7 +66,7 @@ test_expect_success 'setup some commits to svn' \
svn commit -m "Propset Id" &&
cd ..'
-test_expect_success 'initialize git-svn' "git-svn init $svnrepo"
+test_expect_success 'initialize git-svn' "git-svn init '$svnrepo'"
test_expect_success 'fetch revisions from svn' 'git-svn fetch'
name='test svn:keywords ignoring'
@@ -92,7 +92,7 @@ test_expect_success "propset CR on crlf files" \
test_expect_success 'fetch and pull latest from svn and checkout a new wc' \
"git-svn fetch &&
git pull . remotes/git-svn &&
- svn co $svnrepo new_wc"
+ svn co '$svnrepo' new_wc"
for i in crlf ne_crlf lf ne_lf cr ne_cr empty_cr empty_lf empty empty_crlf
do
diff --git a/t/t9102-git-svn-deep-rmdir.sh b/t/t9102-git-svn-deep-rmdir.sh
index 4e08083..99c8840 100755
--- a/t/t9102-git-svn-deep-rmdir.sh
+++ b/t/t9102-git-svn-deep-rmdir.sh
@@ -9,12 +9,12 @@ test_expect_success 'initialize repo' "
mkdir -p deeply/nested/directory/number/2 &&
echo foo > deeply/nested/directory/number/1/file &&
echo foo > deeply/nested/directory/number/2/another &&
- svn import -m 'import for git-svn' . $svnrepo &&
+ svn import -m 'import for git-svn' . '$svnrepo' &&
cd ..
"
test_expect_success 'mirror via git-svn' "
- git-svn init $svnrepo &&
+ git-svn init '$svnrepo' &&
git-svn fetch &&
git checkout -f -b test-rmdir remotes/git-svn
"
@@ -23,7 +23,7 @@ test_expect_success 'Try a commit on rmdir' "
git rm -f deeply/nested/directory/number/2/another &&
git commit -a -m 'remove another' &&
git-svn set-tree --rmdir HEAD &&
- svn ls -R $svnrepo | grep ^deeply/nested/directory/number/1
+ svn ls -R '$svnrepo' | grep ^deeply/nested/directory/number/1
"
diff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh
index 7ba7630..aa2bfe2 100755
--- a/t/t9104-git-svn-follow-parent.sh
+++ b/t/t9104-git-svn-follow-parent.sh
@@ -11,9 +11,9 @@ test_expect_success 'initialize repo' "
cd import &&
mkdir -p trunk &&
echo hello > trunk/readme &&
- svn import -m 'initial' . $svnrepo &&
+ svn import -m 'initial' . '$svnrepo' &&
cd .. &&
- svn co $svnrepo wc &&
+ svn co '$svnrepo' wc &&
cd wc &&
echo world >> trunk/readme &&
poke trunk/readme &&
@@ -27,7 +27,7 @@ test_expect_success 'initialize repo' "
"
test_expect_success 'init and fetch a moved directory' "
- git-svn init --minimize-url -i thunk $svnrepo/thunk &&
+ git-svn init --minimize-url -i thunk '$svnrepo/thunk' &&
git-svn fetch -i thunk &&
test \"\`git rev-parse --verify refs/remotes/thunk@2\`\" \
= \"\`git rev-parse --verify refs/remotes/thunk~1\`\" &&
@@ -38,7 +38,7 @@ test_expect_success 'init and fetch a moved directory' "
"
test_expect_success 'init and fetch from one svn-remote' "
- git config svn-remote.svn.url $svnrepo &&
+ git config svn-remote.svn.url '$svnrepo' &&
git config --add svn-remote.svn.fetch \
trunk:refs/remotes/svn/trunk &&
git config --add svn-remote.svn.fetch \
@@ -52,9 +52,9 @@ test_expect_success 'init and fetch from one svn-remote' "
test_expect_success 'follow deleted parent' "
(svn cp -m 'resurrecting trunk as junk' \
- $svnrepo/trunk@2 $svnrepo/junk ||
+ '$svnrepo/trunk@2' '$svnrepo'/junk ||
svn cp -m 'resurrecting trunk as junk' \
- -r2 $svnrepo/trunk $svnrepo/junk) &&
+ -r2 '$svnrepo/trunk' '$svnrepo/junk') &&
git config --add svn-remote.svn.fetch \
junk:refs/remotes/svn/junk &&
git-svn fetch -i svn/thunk &&
@@ -67,10 +67,10 @@ test_expect_success 'follow deleted parent' "
test_expect_success 'follow larger parent' "
mkdir -p import/trunk/thunk/bump/thud &&
echo hi > import/trunk/thunk/bump/thud/file &&
- svn import -m 'import a larger parent' import $svnrepo/larger-parent &&
- svn cp -m 'hi' $svnrepo/larger-parent $svnrepo/another-larger &&
+ svn import -m 'import a larger parent' import '$svnrepo/larger-parent' &&
+ svn cp -m 'hi' '$svnrepo/larger-parent' '$svnrepo/another-larger' &&
git-svn init --minimize-url -i larger \
- $svnrepo/another-larger/trunk/thunk/bump/thud &&
+ '$svnrepo/another-larger/trunk/thunk/bump/thud' &&
git-svn fetch -i larger &&
git rev-parse --verify refs/remotes/larger &&
git rev-parse --verify \
@@ -83,23 +83,23 @@ test_expect_success 'follow larger parent' "
"
test_expect_success 'follow higher-level parent' "
- svn mkdir -m 'follow higher-level parent' $svnrepo/blob &&
- svn co $svnrepo/blob blob &&
+ svn mkdir -m 'follow higher-level parent' '$svnrepo/blob' &&
+ svn co '$svnrepo/blob' blob &&
cd blob &&
echo hi > hi &&
svn add hi &&
svn commit -m 'hihi' &&
cd ..
- svn mkdir -m 'new glob at top level' $svnrepo/glob &&
- svn mv -m 'move blob down a level' $svnrepo/blob $svnrepo/glob/blob &&
- git-svn init --minimize-url -i blob $svnrepo/glob/blob &&
+ svn mkdir -m 'new glob at top level' '$svnrepo/glob' &&
+ svn mv -m 'move blob down a level' '$svnrepo/blob' '$svnrepo/glob/blob' &&
+ git-svn init --minimize-url -i blob '$svnrepo/glob/blob' &&
git-svn fetch -i blob
"
test_expect_success 'follow deleted directory' "
- svn mv -m 'bye!' $svnrepo/glob/blob/hi $svnrepo/glob/blob/bye &&
- svn rm -m 'remove glob' $svnrepo/glob &&
- git-svn init --minimize-url -i glob $svnrepo/glob &&
+ svn mv -m 'bye!' '$svnrepo/glob/blob/hi' '$svnrepo/glob/blob/bye' &&
+ svn rm -m 'remove glob' '$svnrepo/glob' &&
+ git-svn init --minimize-url -i glob '$svnrepo/glob' &&
git-svn fetch -i glob &&
test \"\`git cat-file blob refs/remotes/glob:blob/bye\`\" = hi &&
test \"\`git ls-tree refs/remotes/glob | wc -l \`\" -eq 1
@@ -118,9 +118,9 @@ test_expect_success 'follow-parent avoids deleting relevant info' "
echo 'bad delete test 2' > \
import/trunk/subversion/bindings/swig/perl/another-larger &&
cd import &&
- svn import -m 'r9270 test' . $svnrepo/r9270 &&
+ svn import -m 'r9270 test' . '$svnrepo/r9270' &&
cd .. &&
- svn co $svnrepo/r9270/trunk/subversion/bindings/swig/perl r9270 &&
+ svn co '$svnrepo/r9270/trunk/subversion/bindings/swig/perl' r9270 &&
cd r9270 &&
svn mkdir native &&
svn mv t native/t &&
@@ -130,7 +130,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' "
svn commit -m 'reorg test' &&
cd .. &&
git-svn init --minimize-url -i r9270-t \
- $svnrepo/r9270/trunk/subversion/bindings/swig/perl/native/t &&
+ '$svnrepo/r9270/trunk/subversion/bindings/swig/perl/native/t' &&
git-svn fetch -i r9270-t &&
test \`git rev-list r9270-t | wc -l\` -eq 2 &&
test \"\`git ls-tree --name-only r9270-t~1\`\" = \
@@ -138,9 +138,9 @@ test_expect_success 'follow-parent avoids deleting relevant info' "
"
test_expect_success "track initial change if it was only made to parent" "
- svn cp -m 'wheee!' $svnrepo/r9270/trunk $svnrepo/r9270/drunk &&
+ svn cp -m 'wheee!' '$svnrepo/r9270/trunk' '$svnrepo/r9270/drunk' &&
git-svn init --minimize-url -i r9270-d \
- $svnrepo/r9270/drunk/subversion/bindings/swig/perl/native/t &&
+ '$svnrepo/r9270/drunk/subversion/bindings/swig/perl/native/t' &&
git-svn fetch -i r9270-d &&
test \`git rev-list r9270-d | wc -l\` -eq 3 &&
test \"\`git ls-tree --name-only r9270-t\`\" = \
@@ -150,7 +150,7 @@ test_expect_success "track initial change if it was only made to parent" "
"
test_expect_success "track multi-parent paths" "
- svn cp -m 'resurrect /glob' $svnrepo/r9270 $svnrepo/glob &&
+ svn cp -m 'resurrect /glob' '$svnrepo/r9270' '$svnrepo/glob' &&
git-svn multi-fetch &&
test \`git cat-file commit refs/remotes/glob | \
grep '^parent ' | wc -l\` -eq 2
@@ -161,8 +161,8 @@ test_expect_success "multi-fetch continues to work" "
"
test_expect_success "multi-fetch works off a 'clean' repository" "
- rm -r $GIT_DIR/svn $GIT_DIR/refs/remotes $GIT_DIR/logs &&
- mkdir $GIT_DIR/svn &&
+ rm -r '$GIT_DIR/svn' '$GIT_DIR/refs/remotes' '$GIT_DIR/logs' &&
+ mkdir '$GIT_DIR/svn' &&
git-svn multi-fetch
"
diff --git a/t/t9105-git-svn-commit-diff.sh b/t/t9105-git-svn-commit-diff.sh
index 318e172..2e1eb75 100755
--- a/t/t9105-git-svn-commit-diff.sh
+++ b/t/t9105-git-svn-commit-diff.sh
@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' "
mkdir import &&
cd import &&
echo hello > readme &&
- svn import -m 'initial' . $svnrepo &&
+ svn import -m 'initial' . '$svnrepo' &&
cd .. &&
echo hello > readme &&
git update-index --add readme &&
@@ -27,16 +27,16 @@ prev=`git rev-parse --verify HEAD^1`
test_expect_success 'test the commit-diff command' "
test -n '$prev' && test -n '$head' &&
git-svn commit-diff -r1 '$prev' '$head' '$svnrepo' &&
- svn co $svnrepo wc &&
+ svn co '$svnrepo' wc &&
cmp readme wc/readme
"
test_expect_success 'commit-diff to a sub-directory (with git-svn config)' "
- svn import -m 'sub-directory' import $svnrepo/subdir &&
- git-svn init --minimize-url $svnrepo/subdir &&
+ svn import -m 'sub-directory' import '$svnrepo/subdir' &&
+ git-svn init --minimize-url '$svnrepo/subdir' &&
git-svn fetch &&
git-svn commit-diff -r3 '$prev' '$head' &&
- svn cat $svnrepo/subdir/readme > readme.2 &&
+ svn cat '$svnrepo/subdir/readme' > readme.2 &&
cmp readme readme.2
"
diff --git a/t/t9106-git-svn-commit-diff-clobber.sh b/t/t9106-git-svn-commit-diff-clobber.sh
index 79b7968..bb42339 100755
--- a/t/t9106-git-svn-commit-diff-clobber.sh
+++ b/t/t9106-git-svn-commit-diff-clobber.sh
@@ -8,14 +8,14 @@ test_expect_success 'initialize repo' "
mkdir import &&
cd import &&
echo initial > file &&
- svn import -m 'initial' . $svnrepo &&
+ svn import -m 'initial' . '$svnrepo' &&
cd .. &&
echo initial > file &&
git update-index --add file &&
git commit -a -m 'initial'
"
test_expect_success 'commit change from svn side' "
- svn co $svnrepo t.svn &&
+ svn co '$svnrepo' t.svn &&
cd t.svn &&
echo second line from svn >> file &&
poke file &&
@@ -27,7 +27,7 @@ test_expect_success 'commit change from svn side' "
test_expect_failure 'commit conflicting change from git' "
echo second line from git >> file &&
git commit -a -m 'second line from git' &&
- git-svn commit-diff -r1 HEAD~1 HEAD $svnrepo
+ git-svn commit-diff -r1 HEAD~1 HEAD '$svnrepo'
" || true
test_expect_success 'commit complementing change from git' "
@@ -36,14 +36,14 @@ test_expect_success 'commit complementing change from git' "
git commit -a -m 'second line from svn' &&
echo third line from git >> file &&
git commit -a -m 'third line from git' &&
- git-svn commit-diff -r2 HEAD~1 HEAD $svnrepo
+ git-svn commit-diff -r2 HEAD~1 HEAD '$svnrepo'
"
test_expect_failure 'dcommit fails to commit because of conflict' "
- git-svn init $svnrepo &&
+ git-svn init '$svnrepo' &&
git-svn fetch &&
git reset --hard refs/remotes/git-svn &&
- svn co $svnrepo t.svn &&
+ svn co '$svnrepo' t.svn &&
cd t.svn &&
echo fourth line from svn >> file &&
poke file &&
@@ -67,7 +67,7 @@ test_expect_success 'dcommit does the svn equivalent of an index merge' "
"
test_expect_success 'commit another change from svn side' "
- svn co $svnrepo t.svn &&
+ svn co '$svnrepo' t.svn &&
cd t.svn &&
echo third line from svn >> file &&
poke file &&
diff --git a/t/t9107-git-svn-migrate.sh b/t/t9107-git-svn-migrate.sh
index 67fdf70..90bf786 100755
--- a/t/t9107-git-svn-migrate.sh
+++ b/t/t9107-git-svn-migrate.sh
@@ -4,7 +4,7 @@ test_description='git-svn metadata migrations from previous versions'
. ./lib-git-svn.sh
test_expect_success 'setup old-looking metadata' "
- cp $GIT_DIR/config $GIT_DIR/config-old-git-svn &&
+ cp '$GIT_DIR/config' '$GIT_DIR/config-old-git-svn' &&
mkdir import &&
cd import &&
for i in trunk branches/a branches/b \
@@ -12,13 +12,13 @@ test_expect_success 'setup old-looking metadata' "
mkdir -p \$i && \
echo hello >> \$i/README || exit 1
done && \
- svn import -m test . $svnrepo
+ svn import -m test . '$svnrepo'
cd .. &&
- git-svn init $svnrepo &&
+ git-svn init '$svnrepo' &&
git-svn fetch &&
- mv $GIT_DIR/svn/* $GIT_DIR/ &&
- mv $GIT_DIR/svn/.metadata $GIT_DIR/ &&
- rmdir $GIT_DIR/svn &&
+ mv '$GIT_DIR'/svn/* '$GIT_DIR/' &&
+ mv '$GIT_DIR/svn/.metadata' '$GIT_DIR/' &&
+ rmdir '$GIT_DIR/svn' &&
git update-ref refs/heads/git-svn-HEAD refs/remotes/git-svn &&
git update-ref refs/heads/svn-HEAD refs/remotes/git-svn &&
git update-ref -d refs/remotes/git-svn refs/remotes/git-svn
@@ -28,20 +28,20 @@ head=`git rev-parse --verify refs/heads/git-svn-HEAD^0`
test_expect_success 'git-svn-HEAD is a real HEAD' "test -n '$head'"
test_expect_success 'initialize old-style (v0) git-svn layout' "
- mkdir -p $GIT_DIR/git-svn/info $GIT_DIR/svn/info &&
- echo $svnrepo > $GIT_DIR/git-svn/info/url &&
- echo $svnrepo > $GIT_DIR/svn/info/url &&
+ mkdir -p '$GIT_DIR/git-svn/info' '$GIT_DIR/svn/info' &&
+ echo '$svnrepo' > '$GIT_DIR/git-svn/info/url' &&
+ echo '$svnrepo' > '$GIT_DIR/svn/info/url' &&
git-svn migrate &&
- ! test -d $GIT_DIR/git-svn &&
+ ! test -d '$GIT_DIR/git-svn' &&
git rev-parse --verify refs/remotes/git-svn^0 &&
git rev-parse --verify refs/remotes/svn^0 &&
- test \`git config --get svn-remote.svn.url\` = '$svnrepo' &&
+ test \"\`git config --get svn-remote.svn.url\`\" = \"$svnrepo\" &&
test \`git config --get svn-remote.svn.fetch\` = \
':refs/remotes/git-svn'
"
test_expect_success 'initialize a multi-repository repo' "
- git-svn init $svnrepo -T trunk -t tags -b branches &&
+ git-svn init '$svnrepo' -T trunk -t tags -b branches &&
git config --get-all svn-remote.svn.fetch > fetch.out &&
grep '^trunk:refs/remotes/trunk$' fetch.out &&
test -n \"\`git config --get svn-remote.svn.branches \
@@ -76,14 +76,14 @@ test_expect_success 'multi-fetch works on partial urls + paths' "
test_expect_success 'migrate --minimize on old inited layout' "
git config --unset-all svn-remote.svn.fetch &&
git config --unset-all svn-remote.svn.url &&
- rm -rf $GIT_DIR/svn &&
+ rm -rf '$GIT_DIR/svn' &&
for i in \`cat fetch.out\`; do
path=\`expr \$i : '\\([^:]*\\):.*$'\`
ref=\`expr \$i : '[^:]*:refs/remotes/\\(.*\\)$'\`
if test -z \"\$ref\"; then continue; fi
if test -n \"\$path\"; then path=\"/\$path\"; fi
- ( mkdir -p $GIT_DIR/svn/\$ref/info/ &&
- echo $svnrepo\$path > $GIT_DIR/svn/\$ref/info/url ) || exit 1;
+ ( mkdir -p '$GIT_DIR'/svn/\$ref/info/ &&
+ echo '$svnrepo'\$path > '$GIT_DIR'/svn/\$ref/info/url ) || exit 1;
done &&
git-svn migrate --minimize &&
test -z \"\`git config -l |grep -v '^svn-remote\.git-svn\.'\`\" &&
@@ -99,13 +99,13 @@ test_expect_success 'migrate --minimize on old inited layout' "
test_expect_success ".rev_db auto-converted to .rev_db.UUID" "
git-svn fetch -i trunk &&
- expect=$GIT_DIR/svn/trunk/.rev_db.* &&
+ expect=\"\`find \"\$GIT_DIR\"/svn/trunk/ -name '.rev_db.*'\`\" &&
test -n \"\$expect\" &&
- mv \$expect $GIT_DIR/svn/trunk/.rev_db &&
+ mv \"\$expect\" \"\$GIT_DIR\"/svn/trunk/.rev_db &&
git-svn fetch -i trunk &&
- test -L $GIT_DIR/svn/trunk/.rev_db &&
- test -f \$expect &&
- cmp \$expect $GIT_DIR/svn/trunk/.rev_db
+ test -L \"\$GIT_DIR\"/svn/trunk/.rev_db &&
+ test -f \"\$expect\" &&
+ cmp \"\$expect\" \"\$GIT_DIR\"/svn/trunk/.rev_db
"
test_done
diff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh
index db4344c..c6dc0ef 100755
--- a/t/t9108-git-svn-glob.sh
+++ b/t/t9108-git-svn-glob.sh
@@ -14,8 +14,8 @@ test_expect_success 'test refspec globbing' "
mkdir -p trunk/src/a trunk/src/b trunk/doc &&
echo 'hello world' > trunk/src/a/readme &&
echo 'goodbye world' > trunk/src/b/readme &&
- svn import -m 'initial' trunk $svnrepo/trunk &&
- svn co $svnrepo tmp &&
+ svn import -m 'initial' trunk '$svnrepo/trunk' &&
+ svn co '$svnrepo' tmp &&
cd tmp &&
mkdir branches tags &&
svn add branches tags &&
@@ -38,7 +38,7 @@ test_expect_success 'test refspec globbing' "
poke tags/end/src/b/readme &&
svn commit -m 'nothing to see here'
cd .. &&
- git config --add svn-remote.svn.url $svnrepo &&
+ git config --add svn-remote.svn.url '$svnrepo' &&
git config --add svn-remote.svn.fetch \
'trunk/src/a:refs/remotes/trunk' &&
git config --add svn-remote.svn.branches \
@@ -60,7 +60,7 @@ echo nothing to see here >> expect.two
cat expect.end >> expect.two
test_expect_success 'test left-hand-side only globbing' "
- git config --add svn-remote.two.url $svnrepo &&
+ git config --add svn-remote.two.url '$svnrepo' &&
git config --add svn-remote.two.fetch trunk:refs/remotes/two/trunk &&
git config --add svn-remote.two.branches \
'branches/*:refs/remotes/two/branches/*' &&
diff --git a/t/t9110-git-svn-use-svm-props.sh b/t/t9110-git-svn-use-svm-props.sh
index 6235af4..d4ab01f 100755
--- a/t/t9110-git-svn-use-svm-props.sh
+++ b/t/t9110-git-svn-use-svm-props.sh
@@ -8,11 +8,11 @@ test_description='git-svn useSvmProps test'
. ./lib-git-svn.sh
test_expect_success 'load svm repo' "
- svnadmin load -q $rawsvnrepo < ../t9110/svm.dump &&
- git-svn init --minimize-url -R arr -i bar $svnrepo/mirror/arr &&
- git-svn init --minimize-url -R argh -i dir $svnrepo/mirror/argh &&
+ svnadmin load -q '$rawsvnrepo' < ../t9110/svm.dump &&
+ git-svn init --minimize-url -R arr -i bar '$svnrepo/mirror/arr' &&
+ git-svn init --minimize-url -R argh -i dir '$svnrepo/mirror/argh' &&
git-svn init --minimize-url -R argh -i e \
- $svnrepo/mirror/argh/a/b/c/d/e &&
+ '$svnrepo/mirror/argh/a/b/c/d/e' &&
git config svn.useSvmProps true &&
git-svn fetch --all
"
diff --git a/t/t9111-git-svn-use-svnsync-props.sh b/t/t9111-git-svn-use-svnsync-props.sh
index ec7dedd..936f023 100755
--- a/t/t9111-git-svn-use-svnsync-props.sh
+++ b/t/t9111-git-svn-use-svnsync-props.sh
@@ -8,10 +8,10 @@ test_description='git-svn useSvnsyncProps test'
. ./lib-git-svn.sh
test_expect_success 'load svnsync repo' "
- svnadmin load -q $rawsvnrepo < ../t9111/svnsync.dump &&
- git-svn init --minimize-url -R arr -i bar $svnrepo/bar &&
- git-svn init --minimize-url -R argh -i dir $svnrepo/dir &&
- git-svn init --minimize-url -R argh -i e $svnrepo/dir/a/b/c/d/e &&
+ svnadmin load -q '$rawsvnrepo' < ../t9111/svnsync.dump &&
+ git-svn init --minimize-url -R arr -i bar '$svnrepo/bar' &&
+ git-svn init --minimize-url -R argh -i dir '$svnrepo/dir' &&
+ git-svn init --minimize-url -R argh -i e '$svnrepo/dir/a/b/c/d/e' &&
git config svn.useSvnsyncProps true &&
git-svn fetch --all
"
diff --git a/t/t9112-git-svn-md5less-file.sh b/t/t9112-git-svn-md5less-file.sh
index 08313bb..b095583 100755
--- a/t/t9112-git-svn-md5less-file.sh
+++ b/t/t9112-git-svn-md5less-file.sh
@@ -38,8 +38,8 @@ PROPS-END
EOF
-test_expect_success 'load svn dumpfile' "svnadmin load $rawsvnrepo < dumpfile.svn"
+test_expect_success 'load svn dumpfile' "svnadmin load '$rawsvnrepo' < dumpfile.svn"
-test_expect_success 'initialize git-svn' "git-svn init $svnrepo"
+test_expect_success 'initialize git-svn' "git-svn init '$svnrepo'"
test_expect_success 'fetch revisions from svn' 'git-svn fetch'
test_done
diff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.sh
index 9ef0db9..0088c75 100755
--- a/t/t9113-git-svn-dcommit-new-file.sh
+++ b/t/t9113-git-svn-dcommit-new-file.sh
@@ -15,14 +15,14 @@ test_description='git-svn dcommit new files over svn:// test'
start_svnserve () {
svnserve --listen-port $SVNSERVE_PORT \
- --root $rawsvnrepo \
+ --root '$rawsvnrepo' \
--listen-once \
--listen-host 127.0.0.1 &
}
test_expect_success 'start tracking an empty repo' "
- svn mkdir -m 'empty dir' $svnrepo/empty-dir &&
- echo anon-access = write >> $rawsvnrepo/conf/svnserve.conf &&
+ svn mkdir -m 'empty dir' '$svnrepo/empty-dir' &&
+ echo anon-access = write >> '$rawsvnrepo/conf/svnserve.conf' &&
start_svnserve &&
git svn init svn://127.0.0.1:$SVNSERVE_PORT &&
git svn fetch
diff --git a/t/t9114-git-svn-dcommit-merge.sh b/t/t9114-git-svn-dcommit-merge.sh
index d6ca955..64ec7fd 100755
--- a/t/t9114-git-svn-dcommit-merge.sh
+++ b/t/t9114-git-svn-dcommit-merge.sh
@@ -35,7 +35,7 @@ EOF
}
test_expect_success 'setup svn repository' "
- svn co $svnrepo mysvnwork &&
+ svn co '$svnrepo' mysvnwork &&
mkdir -p mysvnwork/trunk &&
cd mysvnwork &&
big_text_block >> trunk/README &&
@@ -45,7 +45,7 @@ test_expect_success 'setup svn repository' "
"
test_expect_success 'setup git mirror and merge' "
- git svn init $svnrepo -t tags -T trunk -b branches &&
+ git svn init '$svnrepo' -t tags -T trunk -b branches &&
git svn fetch &&
git checkout --track -b svn remotes/trunk &&
git checkout -b merge &&
diff --git a/t/t9115-git-svn-dcommit-funky-renames.sh b/t/t9115-git-svn-dcommit-funky-renames.sh
index 182299c..653578d 100755
--- a/t/t9115-git-svn-dcommit-funky-renames.sh
+++ b/t/t9115-git-svn-dcommit-funky-renames.sh
@@ -8,12 +8,12 @@ test_description='git-svn dcommit can commit renames of files with ugly names'
. ./lib-git-svn.sh
test_expect_success 'load repository with strange names' "
- svnadmin load -q $rawsvnrepo < ../t9115/funky-names.dump &&
+ svnadmin load -q '$rawsvnrepo' < ../t9115/funky-names.dump &&
start_httpd
"
test_expect_success 'init and fetch repository' "
- git svn init $svnrepo &&
+ git svn init '$svnrepo' &&
git svn fetch &&
git reset --hard git-svn
"
diff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh
index 0d4e6b3..70c0c5f 100755
--- a/t/t9116-git-svn-log.sh
+++ b/t/t9116-git-svn-log.sh
@@ -14,9 +14,9 @@ test_expect_success 'setup repository and import' "
mkdir -p \$i && \
echo hello >> \$i/README || exit 1
done && \
- svn import -m test . $svnrepo
+ svn import -m test . '$svnrepo'
cd .. &&
- git-svn init $svnrepo -T trunk -b branches -t tags &&
+ git-svn init '$svnrepo' -T trunk -b branches -t tags &&
git-svn fetch &&
git reset --hard trunk &&
echo bye >> README &&
diff --git a/t/test-lib.sh b/t/test-lib.sh
index cc1253c..a68415f 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -229,7 +229,7 @@ test_create_repo () {
repo="$1"
mkdir "$repo"
cd "$repo" || error "Cannot setup test environment"
- "$GIT_EXEC_PATH/git" init --template=$GIT_EXEC_PATH/templates/blt/ >/dev/null 2>&1 ||
+ "$GIT_EXEC_PATH/git" init --template="$GIT_EXEC_PATH/templates/blt/" >/dev/null 2>&1 ||
error "cannot run git init -- have you built things yet?"
mv .git/hooks .git/hooks-disabled
cd "$owd"
--
1.5.3.1
^ permalink raw reply related
* [PATCH] Fixing path quoting issues
From: Jonathan del Strother @ 2007-10-10 21:13 UTC (permalink / raw)
To: git, gitster; +Cc: Jonathan del Strother
git-rebase and a number of tests didn't properly quote paths, leading to problems when run from a path with a space in.
Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
---
git-rebase.sh | 26 +++++-----
t/t1020-subdirectory.sh | 22 ++++----
t/t3050-subprojects-fetch.sh | 2 +-
t/t3404-rebase-interactive.sh | 2 +-
t/t5500-fetch-pack.sh | 2 +-
t/t5700-clone-reference.sh | 2 +-
t/t7003-filter-branch.sh | 2 +-
t/t7501-commit.sh | 74 +++++++++++++++---------------
t/t9100-git-svn-basic.sh | 18 ++++----
t/t9101-git-svn-props.sh | 6 +-
t/t9102-git-svn-deep-rmdir.sh | 6 +-
t/t9104-git-svn-follow-parent.sh | 50 ++++++++++----------
t/t9105-git-svn-commit-diff.sh | 10 ++--
t/t9106-git-svn-commit-diff-clobber.sh | 14 +++---
t/t9107-git-svn-migrate.sh | 40 ++++++++--------
t/t9108-git-svn-glob.sh | 8 ++--
t/t9110-git-svn-use-svm-props.sh | 8 ++--
t/t9111-git-svn-use-svnsync-props.sh | 8 ++--
t/t9112-git-svn-md5less-file.sh | 4 +-
t/t9113-git-svn-dcommit-new-file.sh | 6 +-
t/t9114-git-svn-dcommit-merge.sh | 4 +-
t/t9115-git-svn-dcommit-funky-renames.sh | 4 +-
t/t9116-git-svn-log.sh | 4 +-
t/test-lib.sh | 2 +-
24 files changed, 162 insertions(+), 162 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 1583402..b48397e 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -59,7 +59,7 @@ continue_merge () {
die "$RESOLVEMSG"
fi
- cmt=`cat $dotest/current`
+ cmt=`cat "$dotest/current"`
if ! git diff-index --quiet HEAD
then
if ! git-commit -C "$cmt"
@@ -84,14 +84,14 @@ continue_merge () {
}
call_merge () {
- cmt="$(cat $dotest/cmt.$1)"
+ cmt="$(cat "$dotest/cmt.$1")"
echo "$cmt" > "$dotest/current"
hd=$(git rev-parse --verify HEAD)
cmt_name=$(git symbolic-ref HEAD)
- msgnum=$(cat $dotest/msgnum)
- end=$(cat $dotest/end)
+ msgnum=$(cat "$dotest/msgnum")
+ end=$(cat "$dotest/end")
eval GITHEAD_$cmt='"${cmt_name##refs/heads/}~$(($end - $msgnum))"'
- eval GITHEAD_$hd='"$(cat $dotest/onto_name)"'
+ eval GITHEAD_$hd='"$(cat \"$dotest/onto_name\")"'
export GITHEAD_$cmt GITHEAD_$hd
git-merge-$strategy "$cmt^" -- "$hd" "$cmt"
rv=$?
@@ -140,10 +140,10 @@ do
}
if test -d "$dotest"
then
- prev_head="`cat $dotest/prev_head`"
- end="`cat $dotest/end`"
- msgnum="`cat $dotest/msgnum`"
- onto="`cat $dotest/onto`"
+ prev_head="`cat \"$dotest/prev_head\"`"
+ end="`cat \"$dotest/end\"`"
+ msgnum="`cat \"$dotest/msgnum\"`"
+ onto="`cat \"$dotest/onto\"`"
continue_merge
while test "$msgnum" -le "$end"
do
@@ -160,11 +160,11 @@ do
if test -d "$dotest"
then
git rerere clear
- prev_head="`cat $dotest/prev_head`"
- end="`cat $dotest/end`"
- msgnum="`cat $dotest/msgnum`"
+ prev_head="`cat \"$dotest/prev_head\"`"
+ end="`cat \"$dotest/end\"`"
+ msgnum="`cat \"$dotest/msgnum\"`"
msgnum=$(($msgnum + 1))
- onto="`cat $dotest/onto`"
+ onto="`cat \"$dotest/onto\"`"
while test "$msgnum" -le "$end"
do
call_merge "$msgnum"
diff --git a/t/t1020-subdirectory.sh b/t/t1020-subdirectory.sh
index b9cef34..5ed7fa4 100755
--- a/t/t1020-subdirectory.sh
+++ b/t/t1020-subdirectory.sh
@@ -21,7 +21,7 @@ LF='
'
test_expect_success 'update-index and ls-files' '
- cd $HERE &&
+ cd "$HERE" &&
git update-index --add one &&
case "`git ls-files`" in
one) echo ok one ;;
@@ -41,7 +41,7 @@ test_expect_success 'update-index and ls-files' '
'
test_expect_success 'cat-file' '
- cd $HERE &&
+ cd "$HERE" &&
two=`git ls-files -s dir/two` &&
two=`expr "$two" : "[0-7]* \\([0-9a-f]*\\)"` &&
echo "$two" &&
@@ -54,7 +54,7 @@ test_expect_success 'cat-file' '
rm -f actual dir/actual
test_expect_success 'diff-files' '
- cd $HERE &&
+ cd "$HERE" &&
echo a >>one &&
echo d >>dir/two &&
case "`git diff-files --name-only`" in
@@ -74,7 +74,7 @@ test_expect_success 'diff-files' '
'
test_expect_success 'write-tree' '
- cd $HERE &&
+ cd "$HERE" &&
top=`git write-tree` &&
echo $top &&
cd dir &&
@@ -84,7 +84,7 @@ test_expect_success 'write-tree' '
'
test_expect_success 'checkout-index' '
- cd $HERE &&
+ cd "$HERE" &&
git checkout-index -f -u one &&
cmp one original.one &&
cd dir &&
@@ -93,7 +93,7 @@ test_expect_success 'checkout-index' '
'
test_expect_success 'read-tree' '
- cd $HERE &&
+ cd "$HERE" &&
rm -f one dir/two &&
tree=`git write-tree` &&
git read-tree --reset -u "$tree" &&
@@ -107,27 +107,27 @@ test_expect_success 'read-tree' '
'
test_expect_success 'no file/rev ambiguity check inside .git' '
- cd $HERE &&
+ cd "$HERE" &&
git commit -a -m 1 &&
- cd $HERE/.git &&
+ cd "$HERE/.git" &&
git show -s HEAD
'
test_expect_success 'no file/rev ambiguity check inside a bare repo' '
- cd $HERE &&
+ cd "$HERE" &&
git clone -s --bare .git foo.git &&
cd foo.git && GIT_DIR=. git show -s HEAD
'
# This still does not work as it should...
: test_expect_success 'no file/rev ambiguity check inside a bare repo' '
- cd $HERE &&
+ cd "$HERE" &&
git clone -s --bare .git foo.git &&
cd foo.git && git show -s HEAD
'
test_expect_success 'detection should not be fooled by a symlink' '
- cd $HERE &&
+ cd "$HERE" &&
rm -fr foo.git &&
git clone -s .git another &&
ln -s another yetanother &&
diff --git a/t/t3050-subprojects-fetch.sh b/t/t3050-subprojects-fetch.sh
index 34f26a8..4b74cc6 100755
--- a/t/t3050-subprojects-fetch.sh
+++ b/t/t3050-subprojects-fetch.sh
@@ -20,7 +20,7 @@ test_expect_success setup '
'
test_expect_success clone '
- git clone file://`pwd`/.git cloned &&
+ git clone "file://`pwd`/.git" cloned &&
(git rev-parse HEAD; git ls-files -s) >expected &&
(
cd cloned &&
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 1113904..f321787 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -92,7 +92,7 @@ done
EOF
chmod a+x fake-editor.sh
-VISUAL="$(pwd)/fake-editor.sh"
+VISUAL="'$(pwd)/fake-editor.sh'"
export VISUAL
test_expect_success 'no changes are a nop' '
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index 7b6798d..5489ffe 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -129,7 +129,7 @@ pull_to_client 2nd "B" $((64*3))
pull_to_client 3rd "A" $((1*3)) # old fails
-test_expect_success "clone shallow" "git-clone --depth 2 file://`pwd`/. shallow"
+test_expect_success "clone shallow" "git-clone --depth 2 \"file://`pwd`/.\" shallow"
(cd shallow; git count-objects -v) > count.shallow
diff --git a/t/t5700-clone-reference.sh b/t/t5700-clone-reference.sh
index 4e93aaa..8bb34f9 100755
--- a/t/t5700-clone-reference.sh
+++ b/t/t5700-clone-reference.sh
@@ -51,7 +51,7 @@ diff expected current'
cd "$base_dir"
test_expect_success 'cloning with reference (no -l -s)' \
-'git clone --reference B file://`pwd`/A D'
+'git clone --reference B "file://`pwd`/A" D'
cd "$base_dir"
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
index e935b20..1ab5392 100755
--- a/t/t7003-filter-branch.sh
+++ b/t/t7003-filter-branch.sh
@@ -107,7 +107,7 @@ test_expect_success 'use index-filter to move into a subdirectory' '
"git ls-files -s | sed \"s-\\t-&newsubdir/-\" |
GIT_INDEX_FILE=\$GIT_INDEX_FILE.new \
git update-index --index-info &&
- mv \$GIT_INDEX_FILE.new \$GIT_INDEX_FILE" directorymoved &&
+ mv \"\$GIT_INDEX_FILE.new\" \"\$GIT_INDEX_FILE\"" directorymoved &&
test -z "$(git diff HEAD directorymoved:newsubdir)"'
test_expect_success 'stops when msg filter fails' '
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
index b151b51..f3d0ab9 100644
--- a/t/t7501-commit.sh
+++ b/t/t7501-commit.sh
@@ -69,7 +69,7 @@ test_expect_success \
cat >editor <<\EOF
#!/bin/sh
-sed -i -e "s/a file/an amend commit/g" $1
+sed -i -e "s/a file/an amend commit/g" "$1"
EOF
chmod 755 editor
@@ -80,40 +80,40 @@ test_expect_success \
test_expect_failure \
"passing -m and -F" \
"echo 'enough with the bongos' >file && \
- git-commit -F msg -m amending ."
+ git-commit -F msg -m amending ."
test_expect_success \
- "using message from other commit" \
- "git-commit -C HEAD^ ."
+ "using message from other commit" \
+ "git-commit -C HEAD^ ."
cat >editor <<\EOF
#!/bin/sh
-sed -i -e "s/amend/older/g" $1
+sed -i -e "s/amend/older/g" "$1"
EOF
chmod 755 editor
test_expect_success \
- "editing message from other commit" \
- "echo 'hula hula' >file && \
- VISUAL=./editor git-commit -c HEAD^ -a"
+ "editing message from other commit" \
+ "echo 'hula hula' >file && \
+ VISUAL=./editor git-commit -c HEAD^ -a"
test_expect_success \
- "message from stdin" \
- "echo 'silly new contents' >file && \
- echo commit message from stdin | git-commit -F - -a"
+ "message from stdin" \
+ "echo 'silly new contents' >file && \
+ echo commit message from stdin | git-commit -F - -a"
test_expect_success \
- "overriding author from command line" \
- "echo 'gak' >file && \
- git-commit -m 'author' --author 'Rubber Duck <rduck@convoy.org>' -a"
+ "overriding author from command line" \
+ "echo 'gak' >file && \
+ git-commit -m 'author' --author 'Rubber Duck <rduck@convoy.org>' -a"
test_expect_success \
- "interactive add" \
- "echo 7 | git-commit --interactive | grep 'What now'"
+ "interactive add" \
+ "echo 7 | git-commit --interactive | grep 'What now'"
test_expect_success \
- "showing committed revisions" \
- "git-rev-list HEAD >current"
+ "showing committed revisions" \
+ "git-rev-list HEAD >current"
# We could just check the head sha1, but checking each commit makes it
# easier to isolate bugs.
@@ -128,38 +128,38 @@ d381ac431806e53f3dd7ac2f1ae0534f36d738b9
EOF
test_expect_success \
- 'validate git-rev-list output.' \
- 'diff current expected'
+ 'validate git-rev-list output.' \
+ 'diff current expected'
test_expect_success 'partial commit that involves removal (1)' '
- git rm --cached file &&
- mv file elif &&
- git add elif &&
- git commit -m "Partial: add elif" elif &&
- git diff-tree --name-status HEAD^ HEAD >current &&
- echo "A elif" >expected &&
- diff expected current
+ git rm --cached file &&
+ mv file elif &&
+ git add elif &&
+ git commit -m "Partial: add elif" elif &&
+ git diff-tree --name-status HEAD^ HEAD >current &&
+ echo "A elif" >expected &&
+ diff -b expected current
'
test_expect_success 'partial commit that involves removal (2)' '
- git commit -m "Partial: remove file" file &&
- git diff-tree --name-status HEAD^ HEAD >current &&
- echo "D file" >expected &&
- diff expected current
+ git commit -m "Partial: remove file" file &&
+ git diff-tree --name-status HEAD^ HEAD >current &&
+ echo "D file" >expected &&
+ diff -b expected current
'
test_expect_success 'partial commit that involves removal (3)' '
- git rm --cached elif &&
- echo elif >elif &&
- git commit -m "Partial: modify elif" elif &&
- git diff-tree --name-status HEAD^ HEAD >current &&
- echo "M elif" >expected &&
- diff expected current
+ git rm --cached elif &&
+ echo elif >elif &&
+ git commit -m "Partial: modify elif" elif &&
+ git diff-tree --name-status HEAD^ HEAD >current &&
+ echo "M elif" >expected &&
+ diff -b expected current
'
diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index 614cf50..c3585da 100755
--- a/t/t9100-git-svn-basic.sh
+++ b/t/t9100-git-svn-basic.sh
@@ -31,16 +31,16 @@ test_expect_success \
echo 'zzz' > bar/zzz &&
echo '#!/bin/sh' > exec.sh &&
chmod +x exec.sh &&
- svn import -m 'import for git-svn' . $svnrepo >/dev/null &&
+ svn import -m 'import for git-svn' . '$svnrepo' >/dev/null &&
cd .. &&
rm -rf import &&
- git-svn init $svnrepo"
+ git-svn init '$svnrepo'"
test_expect_success \
'import an SVN revision into git' \
'git-svn fetch'
-test_expect_success "checkout from svn" "svn co $svnrepo '$SVN_TREE'"
+test_expect_success "checkout from svn" "svn co '$svnrepo' '$SVN_TREE'"
name='try a deep --rmdir with a commit'
test_expect_success "$name" "
@@ -169,7 +169,7 @@ test_expect_success "$name" "
svn up '$SVN_TREE' &&
test -f '$SVN_TREE'/exec-2.sh &&
test ! -L '$SVN_TREE'/exec-2.sh &&
- git diff help $SVN_TREE/exec-2.sh"
+ git diff help '$SVN_TREE/exec-2.sh'"
if test "$have_utf8" = t
then
@@ -190,7 +190,7 @@ name='test fetch functionality (svn => git) with alternate GIT_SVN_ID'
GIT_SVN_ID=alt
export GIT_SVN_ID
test_expect_success "$name" \
- "git-svn init $svnrepo && git-svn fetch &&
+ "git-svn init '$svnrepo' && git-svn fetch &&
git rev-list --pretty=raw remotes/git-svn | grep ^tree | uniq > a &&
git rev-list --pretty=raw remotes/alt | grep ^tree | uniq > b &&
git diff a b"
@@ -220,16 +220,16 @@ test_expect_failure 'exit if remote refs are ambigious' "
"
test_expect_failure 'exit if init-ing a would clobber a URL' "
- svnadmin create ${PWD}/svnrepo2 &&
- svn mkdir -m 'mkdir bar' ${svnrepo}2/bar &&
+ svnadmin create '${PWD}/svnrepo2' &&
+ svn mkdir -m 'mkdir bar' '${svnrepo}2/bar' &&
git config --unset svn-remote.svn.fetch \
'^bar:refs/remotes/git-svn$' &&
- git-svn init ${svnrepo}2/bar
+ git-svn init '${svnrepo}2/bar'
"
test_expect_success \
'init allows us to connect to another directory in the same repo' "
- git-svn init --minimize-url -i bar $svnrepo/bar &&
+ git-svn init --minimize-url -i bar '$svnrepo/bar' &&
git config --get svn-remote.svn.fetch \
'^bar:refs/remotes/bar$' &&
git config --get svn-remote.svn.fetch \
diff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh
index 5aac644..a1c85e0 100755
--- a/t/t9101-git-svn-props.sh
+++ b/t/t9101-git-svn-props.sh
@@ -52,7 +52,7 @@ EOF
cd ..
rm -rf import
-test_expect_success 'checkout working copy from svn' "svn co $svnrepo test_wc"
+test_expect_success 'checkout working copy from svn' "svn co '$svnrepo' test_wc"
test_expect_success 'setup some commits to svn' \
'cd test_wc &&
echo Greetings >> kw.c &&
@@ -66,7 +66,7 @@ test_expect_success 'setup some commits to svn' \
svn commit -m "Propset Id" &&
cd ..'
-test_expect_success 'initialize git-svn' "git-svn init $svnrepo"
+test_expect_success 'initialize git-svn' "git-svn init '$svnrepo'"
test_expect_success 'fetch revisions from svn' 'git-svn fetch'
name='test svn:keywords ignoring'
@@ -92,7 +92,7 @@ test_expect_success "propset CR on crlf files" \
test_expect_success 'fetch and pull latest from svn and checkout a new wc' \
"git-svn fetch &&
git pull . remotes/git-svn &&
- svn co $svnrepo new_wc"
+ svn co '$svnrepo' new_wc"
for i in crlf ne_crlf lf ne_lf cr ne_cr empty_cr empty_lf empty empty_crlf
do
diff --git a/t/t9102-git-svn-deep-rmdir.sh b/t/t9102-git-svn-deep-rmdir.sh
index 4e08083..99c8840 100755
--- a/t/t9102-git-svn-deep-rmdir.sh
+++ b/t/t9102-git-svn-deep-rmdir.sh
@@ -9,12 +9,12 @@ test_expect_success 'initialize repo' "
mkdir -p deeply/nested/directory/number/2 &&
echo foo > deeply/nested/directory/number/1/file &&
echo foo > deeply/nested/directory/number/2/another &&
- svn import -m 'import for git-svn' . $svnrepo &&
+ svn import -m 'import for git-svn' . '$svnrepo' &&
cd ..
"
test_expect_success 'mirror via git-svn' "
- git-svn init $svnrepo &&
+ git-svn init '$svnrepo' &&
git-svn fetch &&
git checkout -f -b test-rmdir remotes/git-svn
"
@@ -23,7 +23,7 @@ test_expect_success 'Try a commit on rmdir' "
git rm -f deeply/nested/directory/number/2/another &&
git commit -a -m 'remove another' &&
git-svn set-tree --rmdir HEAD &&
- svn ls -R $svnrepo | grep ^deeply/nested/directory/number/1
+ svn ls -R '$svnrepo' | grep ^deeply/nested/directory/number/1
"
diff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh
index 7ba7630..aa2bfe2 100755
--- a/t/t9104-git-svn-follow-parent.sh
+++ b/t/t9104-git-svn-follow-parent.sh
@@ -11,9 +11,9 @@ test_expect_success 'initialize repo' "
cd import &&
mkdir -p trunk &&
echo hello > trunk/readme &&
- svn import -m 'initial' . $svnrepo &&
+ svn import -m 'initial' . '$svnrepo' &&
cd .. &&
- svn co $svnrepo wc &&
+ svn co '$svnrepo' wc &&
cd wc &&
echo world >> trunk/readme &&
poke trunk/readme &&
@@ -27,7 +27,7 @@ test_expect_success 'initialize repo' "
"
test_expect_success 'init and fetch a moved directory' "
- git-svn init --minimize-url -i thunk $svnrepo/thunk &&
+ git-svn init --minimize-url -i thunk '$svnrepo/thunk' &&
git-svn fetch -i thunk &&
test \"\`git rev-parse --verify refs/remotes/thunk@2\`\" \
= \"\`git rev-parse --verify refs/remotes/thunk~1\`\" &&
@@ -38,7 +38,7 @@ test_expect_success 'init and fetch a moved directory' "
"
test_expect_success 'init and fetch from one svn-remote' "
- git config svn-remote.svn.url $svnrepo &&
+ git config svn-remote.svn.url '$svnrepo' &&
git config --add svn-remote.svn.fetch \
trunk:refs/remotes/svn/trunk &&
git config --add svn-remote.svn.fetch \
@@ -52,9 +52,9 @@ test_expect_success 'init and fetch from one svn-remote' "
test_expect_success 'follow deleted parent' "
(svn cp -m 'resurrecting trunk as junk' \
- $svnrepo/trunk@2 $svnrepo/junk ||
+ '$svnrepo/trunk@2' '$svnrepo'/junk ||
svn cp -m 'resurrecting trunk as junk' \
- -r2 $svnrepo/trunk $svnrepo/junk) &&
+ -r2 '$svnrepo/trunk' '$svnrepo/junk') &&
git config --add svn-remote.svn.fetch \
junk:refs/remotes/svn/junk &&
git-svn fetch -i svn/thunk &&
@@ -67,10 +67,10 @@ test_expect_success 'follow deleted parent' "
test_expect_success 'follow larger parent' "
mkdir -p import/trunk/thunk/bump/thud &&
echo hi > import/trunk/thunk/bump/thud/file &&
- svn import -m 'import a larger parent' import $svnrepo/larger-parent &&
- svn cp -m 'hi' $svnrepo/larger-parent $svnrepo/another-larger &&
+ svn import -m 'import a larger parent' import '$svnrepo/larger-parent' &&
+ svn cp -m 'hi' '$svnrepo/larger-parent' '$svnrepo/another-larger' &&
git-svn init --minimize-url -i larger \
- $svnrepo/another-larger/trunk/thunk/bump/thud &&
+ '$svnrepo/another-larger/trunk/thunk/bump/thud' &&
git-svn fetch -i larger &&
git rev-parse --verify refs/remotes/larger &&
git rev-parse --verify \
@@ -83,23 +83,23 @@ test_expect_success 'follow larger parent' "
"
test_expect_success 'follow higher-level parent' "
- svn mkdir -m 'follow higher-level parent' $svnrepo/blob &&
- svn co $svnrepo/blob blob &&
+ svn mkdir -m 'follow higher-level parent' '$svnrepo/blob' &&
+ svn co '$svnrepo/blob' blob &&
cd blob &&
echo hi > hi &&
svn add hi &&
svn commit -m 'hihi' &&
cd ..
- svn mkdir -m 'new glob at top level' $svnrepo/glob &&
- svn mv -m 'move blob down a level' $svnrepo/blob $svnrepo/glob/blob &&
- git-svn init --minimize-url -i blob $svnrepo/glob/blob &&
+ svn mkdir -m 'new glob at top level' '$svnrepo/glob' &&
+ svn mv -m 'move blob down a level' '$svnrepo/blob' '$svnrepo/glob/blob' &&
+ git-svn init --minimize-url -i blob '$svnrepo/glob/blob' &&
git-svn fetch -i blob
"
test_expect_success 'follow deleted directory' "
- svn mv -m 'bye!' $svnrepo/glob/blob/hi $svnrepo/glob/blob/bye &&
- svn rm -m 'remove glob' $svnrepo/glob &&
- git-svn init --minimize-url -i glob $svnrepo/glob &&
+ svn mv -m 'bye!' '$svnrepo/glob/blob/hi' '$svnrepo/glob/blob/bye' &&
+ svn rm -m 'remove glob' '$svnrepo/glob' &&
+ git-svn init --minimize-url -i glob '$svnrepo/glob' &&
git-svn fetch -i glob &&
test \"\`git cat-file blob refs/remotes/glob:blob/bye\`\" = hi &&
test \"\`git ls-tree refs/remotes/glob | wc -l \`\" -eq 1
@@ -118,9 +118,9 @@ test_expect_success 'follow-parent avoids deleting relevant info' "
echo 'bad delete test 2' > \
import/trunk/subversion/bindings/swig/perl/another-larger &&
cd import &&
- svn import -m 'r9270 test' . $svnrepo/r9270 &&
+ svn import -m 'r9270 test' . '$svnrepo/r9270' &&
cd .. &&
- svn co $svnrepo/r9270/trunk/subversion/bindings/swig/perl r9270 &&
+ svn co '$svnrepo/r9270/trunk/subversion/bindings/swig/perl' r9270 &&
cd r9270 &&
svn mkdir native &&
svn mv t native/t &&
@@ -130,7 +130,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' "
svn commit -m 'reorg test' &&
cd .. &&
git-svn init --minimize-url -i r9270-t \
- $svnrepo/r9270/trunk/subversion/bindings/swig/perl/native/t &&
+ '$svnrepo/r9270/trunk/subversion/bindings/swig/perl/native/t' &&
git-svn fetch -i r9270-t &&
test \`git rev-list r9270-t | wc -l\` -eq 2 &&
test \"\`git ls-tree --name-only r9270-t~1\`\" = \
@@ -138,9 +138,9 @@ test_expect_success 'follow-parent avoids deleting relevant info' "
"
test_expect_success "track initial change if it was only made to parent" "
- svn cp -m 'wheee!' $svnrepo/r9270/trunk $svnrepo/r9270/drunk &&
+ svn cp -m 'wheee!' '$svnrepo/r9270/trunk' '$svnrepo/r9270/drunk' &&
git-svn init --minimize-url -i r9270-d \
- $svnrepo/r9270/drunk/subversion/bindings/swig/perl/native/t &&
+ '$svnrepo/r9270/drunk/subversion/bindings/swig/perl/native/t' &&
git-svn fetch -i r9270-d &&
test \`git rev-list r9270-d | wc -l\` -eq 3 &&
test \"\`git ls-tree --name-only r9270-t\`\" = \
@@ -150,7 +150,7 @@ test_expect_success "track initial change if it was only made to parent" "
"
test_expect_success "track multi-parent paths" "
- svn cp -m 'resurrect /glob' $svnrepo/r9270 $svnrepo/glob &&
+ svn cp -m 'resurrect /glob' '$svnrepo/r9270' '$svnrepo/glob' &&
git-svn multi-fetch &&
test \`git cat-file commit refs/remotes/glob | \
grep '^parent ' | wc -l\` -eq 2
@@ -161,8 +161,8 @@ test_expect_success "multi-fetch continues to work" "
"
test_expect_success "multi-fetch works off a 'clean' repository" "
- rm -r $GIT_DIR/svn $GIT_DIR/refs/remotes $GIT_DIR/logs &&
- mkdir $GIT_DIR/svn &&
+ rm -r '$GIT_DIR/svn' '$GIT_DIR/refs/remotes' '$GIT_DIR/logs' &&
+ mkdir '$GIT_DIR/svn' &&
git-svn multi-fetch
"
diff --git a/t/t9105-git-svn-commit-diff.sh b/t/t9105-git-svn-commit-diff.sh
index 318e172..2e1eb75 100755
--- a/t/t9105-git-svn-commit-diff.sh
+++ b/t/t9105-git-svn-commit-diff.sh
@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' "
mkdir import &&
cd import &&
echo hello > readme &&
- svn import -m 'initial' . $svnrepo &&
+ svn import -m 'initial' . '$svnrepo' &&
cd .. &&
echo hello > readme &&
git update-index --add readme &&
@@ -27,16 +27,16 @@ prev=`git rev-parse --verify HEAD^1`
test_expect_success 'test the commit-diff command' "
test -n '$prev' && test -n '$head' &&
git-svn commit-diff -r1 '$prev' '$head' '$svnrepo' &&
- svn co $svnrepo wc &&
+ svn co '$svnrepo' wc &&
cmp readme wc/readme
"
test_expect_success 'commit-diff to a sub-directory (with git-svn config)' "
- svn import -m 'sub-directory' import $svnrepo/subdir &&
- git-svn init --minimize-url $svnrepo/subdir &&
+ svn import -m 'sub-directory' import '$svnrepo/subdir' &&
+ git-svn init --minimize-url '$svnrepo/subdir' &&
git-svn fetch &&
git-svn commit-diff -r3 '$prev' '$head' &&
- svn cat $svnrepo/subdir/readme > readme.2 &&
+ svn cat '$svnrepo/subdir/readme' > readme.2 &&
cmp readme readme.2
"
diff --git a/t/t9106-git-svn-commit-diff-clobber.sh b/t/t9106-git-svn-commit-diff-clobber.sh
index 79b7968..bb42339 100755
--- a/t/t9106-git-svn-commit-diff-clobber.sh
+++ b/t/t9106-git-svn-commit-diff-clobber.sh
@@ -8,14 +8,14 @@ test_expect_success 'initialize repo' "
mkdir import &&
cd import &&
echo initial > file &&
- svn import -m 'initial' . $svnrepo &&
+ svn import -m 'initial' . '$svnrepo' &&
cd .. &&
echo initial > file &&
git update-index --add file &&
git commit -a -m 'initial'
"
test_expect_success 'commit change from svn side' "
- svn co $svnrepo t.svn &&
+ svn co '$svnrepo' t.svn &&
cd t.svn &&
echo second line from svn >> file &&
poke file &&
@@ -27,7 +27,7 @@ test_expect_success 'commit change from svn side' "
test_expect_failure 'commit conflicting change from git' "
echo second line from git >> file &&
git commit -a -m 'second line from git' &&
- git-svn commit-diff -r1 HEAD~1 HEAD $svnrepo
+ git-svn commit-diff -r1 HEAD~1 HEAD '$svnrepo'
" || true
test_expect_success 'commit complementing change from git' "
@@ -36,14 +36,14 @@ test_expect_success 'commit complementing change from git' "
git commit -a -m 'second line from svn' &&
echo third line from git >> file &&
git commit -a -m 'third line from git' &&
- git-svn commit-diff -r2 HEAD~1 HEAD $svnrepo
+ git-svn commit-diff -r2 HEAD~1 HEAD '$svnrepo'
"
test_expect_failure 'dcommit fails to commit because of conflict' "
- git-svn init $svnrepo &&
+ git-svn init '$svnrepo' &&
git-svn fetch &&
git reset --hard refs/remotes/git-svn &&
- svn co $svnrepo t.svn &&
+ svn co '$svnrepo' t.svn &&
cd t.svn &&
echo fourth line from svn >> file &&
poke file &&
@@ -67,7 +67,7 @@ test_expect_success 'dcommit does the svn equivalent of an index merge' "
"
test_expect_success 'commit another change from svn side' "
- svn co $svnrepo t.svn &&
+ svn co '$svnrepo' t.svn &&
cd t.svn &&
echo third line from svn >> file &&
poke file &&
diff --git a/t/t9107-git-svn-migrate.sh b/t/t9107-git-svn-migrate.sh
index 67fdf70..90bf786 100755
--- a/t/t9107-git-svn-migrate.sh
+++ b/t/t9107-git-svn-migrate.sh
@@ -4,7 +4,7 @@ test_description='git-svn metadata migrations from previous versions'
. ./lib-git-svn.sh
test_expect_success 'setup old-looking metadata' "
- cp $GIT_DIR/config $GIT_DIR/config-old-git-svn &&
+ cp '$GIT_DIR/config' '$GIT_DIR/config-old-git-svn' &&
mkdir import &&
cd import &&
for i in trunk branches/a branches/b \
@@ -12,13 +12,13 @@ test_expect_success 'setup old-looking metadata' "
mkdir -p \$i && \
echo hello >> \$i/README || exit 1
done && \
- svn import -m test . $svnrepo
+ svn import -m test . '$svnrepo'
cd .. &&
- git-svn init $svnrepo &&
+ git-svn init '$svnrepo' &&
git-svn fetch &&
- mv $GIT_DIR/svn/* $GIT_DIR/ &&
- mv $GIT_DIR/svn/.metadata $GIT_DIR/ &&
- rmdir $GIT_DIR/svn &&
+ mv '$GIT_DIR'/svn/* '$GIT_DIR/' &&
+ mv '$GIT_DIR/svn/.metadata' '$GIT_DIR/' &&
+ rmdir '$GIT_DIR/svn' &&
git update-ref refs/heads/git-svn-HEAD refs/remotes/git-svn &&
git update-ref refs/heads/svn-HEAD refs/remotes/git-svn &&
git update-ref -d refs/remotes/git-svn refs/remotes/git-svn
@@ -28,20 +28,20 @@ head=`git rev-parse --verify refs/heads/git-svn-HEAD^0`
test_expect_success 'git-svn-HEAD is a real HEAD' "test -n '$head'"
test_expect_success 'initialize old-style (v0) git-svn layout' "
- mkdir -p $GIT_DIR/git-svn/info $GIT_DIR/svn/info &&
- echo $svnrepo > $GIT_DIR/git-svn/info/url &&
- echo $svnrepo > $GIT_DIR/svn/info/url &&
+ mkdir -p '$GIT_DIR/git-svn/info' '$GIT_DIR/svn/info' &&
+ echo '$svnrepo' > '$GIT_DIR/git-svn/info/url' &&
+ echo '$svnrepo' > '$GIT_DIR/svn/info/url' &&
git-svn migrate &&
- ! test -d $GIT_DIR/git-svn &&
+ ! test -d '$GIT_DIR/git-svn' &&
git rev-parse --verify refs/remotes/git-svn^0 &&
git rev-parse --verify refs/remotes/svn^0 &&
- test \`git config --get svn-remote.svn.url\` = '$svnrepo' &&
+ test \"\`git config --get svn-remote.svn.url\`\" = \"$svnrepo\" &&
test \`git config --get svn-remote.svn.fetch\` = \
':refs/remotes/git-svn'
"
test_expect_success 'initialize a multi-repository repo' "
- git-svn init $svnrepo -T trunk -t tags -b branches &&
+ git-svn init '$svnrepo' -T trunk -t tags -b branches &&
git config --get-all svn-remote.svn.fetch > fetch.out &&
grep '^trunk:refs/remotes/trunk$' fetch.out &&
test -n \"\`git config --get svn-remote.svn.branches \
@@ -76,14 +76,14 @@ test_expect_success 'multi-fetch works on partial urls + paths' "
test_expect_success 'migrate --minimize on old inited layout' "
git config --unset-all svn-remote.svn.fetch &&
git config --unset-all svn-remote.svn.url &&
- rm -rf $GIT_DIR/svn &&
+ rm -rf '$GIT_DIR/svn' &&
for i in \`cat fetch.out\`; do
path=\`expr \$i : '\\([^:]*\\):.*$'\`
ref=\`expr \$i : '[^:]*:refs/remotes/\\(.*\\)$'\`
if test -z \"\$ref\"; then continue; fi
if test -n \"\$path\"; then path=\"/\$path\"; fi
- ( mkdir -p $GIT_DIR/svn/\$ref/info/ &&
- echo $svnrepo\$path > $GIT_DIR/svn/\$ref/info/url ) || exit 1;
+ ( mkdir -p '$GIT_DIR'/svn/\$ref/info/ &&
+ echo '$svnrepo'\$path > '$GIT_DIR'/svn/\$ref/info/url ) || exit 1;
done &&
git-svn migrate --minimize &&
test -z \"\`git config -l |grep -v '^svn-remote\.git-svn\.'\`\" &&
@@ -99,13 +99,13 @@ test_expect_success 'migrate --minimize on old inited layout' "
test_expect_success ".rev_db auto-converted to .rev_db.UUID" "
git-svn fetch -i trunk &&
- expect=$GIT_DIR/svn/trunk/.rev_db.* &&
+ expect=\"\`find \"\$GIT_DIR\"/svn/trunk/ -name '.rev_db.*'\`\" &&
test -n \"\$expect\" &&
- mv \$expect $GIT_DIR/svn/trunk/.rev_db &&
+ mv \"\$expect\" \"\$GIT_DIR\"/svn/trunk/.rev_db &&
git-svn fetch -i trunk &&
- test -L $GIT_DIR/svn/trunk/.rev_db &&
- test -f \$expect &&
- cmp \$expect $GIT_DIR/svn/trunk/.rev_db
+ test -L \"\$GIT_DIR\"/svn/trunk/.rev_db &&
+ test -f \"\$expect\" &&
+ cmp \"\$expect\" \"\$GIT_DIR\"/svn/trunk/.rev_db
"
test_done
diff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh
index db4344c..c6dc0ef 100755
--- a/t/t9108-git-svn-glob.sh
+++ b/t/t9108-git-svn-glob.sh
@@ -14,8 +14,8 @@ test_expect_success 'test refspec globbing' "
mkdir -p trunk/src/a trunk/src/b trunk/doc &&
echo 'hello world' > trunk/src/a/readme &&
echo 'goodbye world' > trunk/src/b/readme &&
- svn import -m 'initial' trunk $svnrepo/trunk &&
- svn co $svnrepo tmp &&
+ svn import -m 'initial' trunk '$svnrepo/trunk' &&
+ svn co '$svnrepo' tmp &&
cd tmp &&
mkdir branches tags &&
svn add branches tags &&
@@ -38,7 +38,7 @@ test_expect_success 'test refspec globbing' "
poke tags/end/src/b/readme &&
svn commit -m 'nothing to see here'
cd .. &&
- git config --add svn-remote.svn.url $svnrepo &&
+ git config --add svn-remote.svn.url '$svnrepo' &&
git config --add svn-remote.svn.fetch \
'trunk/src/a:refs/remotes/trunk' &&
git config --add svn-remote.svn.branches \
@@ -60,7 +60,7 @@ echo nothing to see here >> expect.two
cat expect.end >> expect.two
test_expect_success 'test left-hand-side only globbing' "
- git config --add svn-remote.two.url $svnrepo &&
+ git config --add svn-remote.two.url '$svnrepo' &&
git config --add svn-remote.two.fetch trunk:refs/remotes/two/trunk &&
git config --add svn-remote.two.branches \
'branches/*:refs/remotes/two/branches/*' &&
diff --git a/t/t9110-git-svn-use-svm-props.sh b/t/t9110-git-svn-use-svm-props.sh
index 6235af4..d4ab01f 100755
--- a/t/t9110-git-svn-use-svm-props.sh
+++ b/t/t9110-git-svn-use-svm-props.sh
@@ -8,11 +8,11 @@ test_description='git-svn useSvmProps test'
. ./lib-git-svn.sh
test_expect_success 'load svm repo' "
- svnadmin load -q $rawsvnrepo < ../t9110/svm.dump &&
- git-svn init --minimize-url -R arr -i bar $svnrepo/mirror/arr &&
- git-svn init --minimize-url -R argh -i dir $svnrepo/mirror/argh &&
+ svnadmin load -q '$rawsvnrepo' < ../t9110/svm.dump &&
+ git-svn init --minimize-url -R arr -i bar '$svnrepo/mirror/arr' &&
+ git-svn init --minimize-url -R argh -i dir '$svnrepo/mirror/argh' &&
git-svn init --minimize-url -R argh -i e \
- $svnrepo/mirror/argh/a/b/c/d/e &&
+ '$svnrepo/mirror/argh/a/b/c/d/e' &&
git config svn.useSvmProps true &&
git-svn fetch --all
"
diff --git a/t/t9111-git-svn-use-svnsync-props.sh b/t/t9111-git-svn-use-svnsync-props.sh
index ec7dedd..936f023 100755
--- a/t/t9111-git-svn-use-svnsync-props.sh
+++ b/t/t9111-git-svn-use-svnsync-props.sh
@@ -8,10 +8,10 @@ test_description='git-svn useSvnsyncProps test'
. ./lib-git-svn.sh
test_expect_success 'load svnsync repo' "
- svnadmin load -q $rawsvnrepo < ../t9111/svnsync.dump &&
- git-svn init --minimize-url -R arr -i bar $svnrepo/bar &&
- git-svn init --minimize-url -R argh -i dir $svnrepo/dir &&
- git-svn init --minimize-url -R argh -i e $svnrepo/dir/a/b/c/d/e &&
+ svnadmin load -q '$rawsvnrepo' < ../t9111/svnsync.dump &&
+ git-svn init --minimize-url -R arr -i bar '$svnrepo/bar' &&
+ git-svn init --minimize-url -R argh -i dir '$svnrepo/dir' &&
+ git-svn init --minimize-url -R argh -i e '$svnrepo/dir/a/b/c/d/e' &&
git config svn.useSvnsyncProps true &&
git-svn fetch --all
"
diff --git a/t/t9112-git-svn-md5less-file.sh b/t/t9112-git-svn-md5less-file.sh
index 08313bb..b095583 100755
--- a/t/t9112-git-svn-md5less-file.sh
+++ b/t/t9112-git-svn-md5less-file.sh
@@ -38,8 +38,8 @@ PROPS-END
EOF
-test_expect_success 'load svn dumpfile' "svnadmin load $rawsvnrepo < dumpfile.svn"
+test_expect_success 'load svn dumpfile' "svnadmin load '$rawsvnrepo' < dumpfile.svn"
-test_expect_success 'initialize git-svn' "git-svn init $svnrepo"
+test_expect_success 'initialize git-svn' "git-svn init '$svnrepo'"
test_expect_success 'fetch revisions from svn' 'git-svn fetch'
test_done
diff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.sh
index 9ef0db9..0088c75 100755
--- a/t/t9113-git-svn-dcommit-new-file.sh
+++ b/t/t9113-git-svn-dcommit-new-file.sh
@@ -15,14 +15,14 @@ test_description='git-svn dcommit new files over svn:// test'
start_svnserve () {
svnserve --listen-port $SVNSERVE_PORT \
- --root $rawsvnrepo \
+ --root '$rawsvnrepo' \
--listen-once \
--listen-host 127.0.0.1 &
}
test_expect_success 'start tracking an empty repo' "
- svn mkdir -m 'empty dir' $svnrepo/empty-dir &&
- echo anon-access = write >> $rawsvnrepo/conf/svnserve.conf &&
+ svn mkdir -m 'empty dir' '$svnrepo/empty-dir' &&
+ echo anon-access = write >> '$rawsvnrepo/conf/svnserve.conf' &&
start_svnserve &&
git svn init svn://127.0.0.1:$SVNSERVE_PORT &&
git svn fetch
diff --git a/t/t9114-git-svn-dcommit-merge.sh b/t/t9114-git-svn-dcommit-merge.sh
index d6ca955..64ec7fd 100755
--- a/t/t9114-git-svn-dcommit-merge.sh
+++ b/t/t9114-git-svn-dcommit-merge.sh
@@ -35,7 +35,7 @@ EOF
}
test_expect_success 'setup svn repository' "
- svn co $svnrepo mysvnwork &&
+ svn co '$svnrepo' mysvnwork &&
mkdir -p mysvnwork/trunk &&
cd mysvnwork &&
big_text_block >> trunk/README &&
@@ -45,7 +45,7 @@ test_expect_success 'setup svn repository' "
"
test_expect_success 'setup git mirror and merge' "
- git svn init $svnrepo -t tags -T trunk -b branches &&
+ git svn init '$svnrepo' -t tags -T trunk -b branches &&
git svn fetch &&
git checkout --track -b svn remotes/trunk &&
git checkout -b merge &&
diff --git a/t/t9115-git-svn-dcommit-funky-renames.sh b/t/t9115-git-svn-dcommit-funky-renames.sh
index 182299c..653578d 100755
--- a/t/t9115-git-svn-dcommit-funky-renames.sh
+++ b/t/t9115-git-svn-dcommit-funky-renames.sh
@@ -8,12 +8,12 @@ test_description='git-svn dcommit can commit renames of files with ugly names'
. ./lib-git-svn.sh
test_expect_success 'load repository with strange names' "
- svnadmin load -q $rawsvnrepo < ../t9115/funky-names.dump &&
+ svnadmin load -q '$rawsvnrepo' < ../t9115/funky-names.dump &&
start_httpd
"
test_expect_success 'init and fetch repository' "
- git svn init $svnrepo &&
+ git svn init '$svnrepo' &&
git svn fetch &&
git reset --hard git-svn
"
diff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh
index 0d4e6b3..70c0c5f 100755
--- a/t/t9116-git-svn-log.sh
+++ b/t/t9116-git-svn-log.sh
@@ -14,9 +14,9 @@ test_expect_success 'setup repository and import' "
mkdir -p \$i && \
echo hello >> \$i/README || exit 1
done && \
- svn import -m test . $svnrepo
+ svn import -m test . '$svnrepo'
cd .. &&
- git-svn init $svnrepo -T trunk -b branches -t tags &&
+ git-svn init '$svnrepo' -T trunk -b branches -t tags &&
git-svn fetch &&
git reset --hard trunk &&
echo bye >> README &&
diff --git a/t/test-lib.sh b/t/test-lib.sh
index cc1253c..a68415f 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -229,7 +229,7 @@ test_create_repo () {
repo="$1"
mkdir "$repo"
cd "$repo" || error "Cannot setup test environment"
- "$GIT_EXEC_PATH/git" init --template=$GIT_EXEC_PATH/templates/blt/ >/dev/null 2>&1 ||
+ "$GIT_EXEC_PATH/git" init --template="$GIT_EXEC_PATH/templates/blt/" >/dev/null 2>&1 ||
error "cannot run git init -- have you built things yet?"
mv .git/hooks .git/hooks-disabled
cd "$owd"
--
1.5.3.1
^ permalink raw reply related
* Re: git branch performance problem?
From: Han-Wen Nienhuys @ 2007-10-10 21:24 UTC (permalink / raw)
To: Lars Hjemli; +Cc: git
In-Reply-To: <f329bf540710101417w640b2421v73279cc8e34449b8@mail.gmail.com>
2007/10/10, Han-Wen Nienhuys <hanwenn@gmail.com>:
> > You probably want to run 'git gc' (which will run 'git pack-refs',
> > i.e. put all files currently under .git/refs into a single file). This
> > should speed up 'git branch' (and quite possibly other commands too).
>
> This seems rather unuseful. After running gc pack-refs --all, I lost my HEAD,
>
> hanwen@lilypond:~/vc/git5$ git show HEAD
> fatal: ambiguous argument 'HEAD': unknown revision or path not in the
> working tree.
More to the point, I seemed to have lost my entire repository. This is
the type of surprise I don't enjoy.
Now, can someone explain why 'git branch' takes forever if there are
only two non-remote branches ?
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
^ permalink raw reply
* RE: [FEATURE REQUEST] git clone, just clone selected branches?
From: Joakim Tjernlund @ 2007-10-10 21:25 UTC (permalink / raw)
To: 'Johannes Schindelin'; +Cc: git
In-Reply-To: <Pine.LNX.4.64.0710102032330.4174@racer.site>
> -----Original Message-----
> From: Johannes Schindelin [mailto:Johannes.Schindelin@gmx.de]
> Sent: den 10 oktober 2007 21:35
> To: Joakim Tjernlund
> Cc: git@vger.kernel.org
> Subject: Re: [FEATURE REQUEST] git clone, just clone selected
> branches?
>
> Hi,
>
> On Wed, 10 Oct 2007, Joakim Tjernlund wrote:
>
> > To my knowlede a git clone always clones all branches from
> the remote
> > repo. I would like the possibly to clone selected branches, like
> > git clone <repo URL> -b master -b upstream
> > which will only fetch the master and upstream branch.
> >
> > I know I can use git remote to do this, but it is a bit clumsy when
> > starting a new repo.
>
> This is why I suggest: since it is an itch of yours, just fix
> it. You are
> in the prime position to know when you're satisfied.
>
> As a hint how to start: Junio dreamt of a git-clone which is a tiny
> wrapper around git-fetch and git-remote.
>
> So you could start by writing a script which would be a
> replacement for
> git-clone.sh, and there you can also include the support for
> -b that you
> would like so much.
>
> It would be nice, though, to keep this in separate patches,
> which you then
> submit to this list.
>
> Thank you,
> Dscho
Thank you for these words of visdom, I should know better
than to throw out ideas like this. Next time I have an suggestion
I will think long and hard about it before posting again.
Jocke
^ permalink raw reply
* Re: [PATCH] Fixed crash in fetching remote tags when there is not tags.
From: Alex Riesen @ 2007-10-10 21:27 UTC (permalink / raw)
To: Jeff King; +Cc: Väinö Järvelä, git, Junio C Hamano
In-Reply-To: <20071010051034.GA30834@coredump.intra.peff.net>
Jeff King, Wed, Oct 10, 2007 07:10:35 +0200:
> On Tue, Oct 09, 2007 at 08:20:43PM +0200, Alex Riesen wrote:
>
> > Your test does not crash on my system and your fix is obviously bogus.
> > Just take a look at the only call site of the tail_link_ref: ret
> > cannot be NULL. alloc_ref will crash in memset, if this were the case.
>
> His work is almost certainly on top of next, which crashes reliably with
> the test and has an additional call site for tail_link_ref. Aside from
> some trailing whitespace in the patch, I think his fix is reasonable.
Ach, I see.
Still, I'd suggest move the test into the caller, firstly because it
is the only place that special. Also, I can't think of a proper reason
to add a NULL ref to a reflist, and so the crashing tail_link_ref will
help us find the callers which use tail_link_ref incorrectly
(illogically too).
As the result of patter expansion can be NULL (empty pattern, as it
seems), lets just check for it. I parked the patch below locally.
diff --git a/remote.c b/remote.c
index 5e92378..58d63ed 100644
--- a/remote.c
+++ b/remote.c
@@ -884,7 +884,8 @@ int get_fetch_map(struct ref *remote_refs,
rm->peer_ref->name);
}
- tail_link_ref(ref_map, tail);
+ if (ref_map)
+ tail_link_ref(ref_map, tail);
return 0;
}
^ permalink raw reply related
* Re: git branch performance problem?
From: Han-Wen Nienhuys @ 2007-10-10 21:30 UTC (permalink / raw)
To: Lars Hjemli; +Cc: git
In-Reply-To: <f329bf540710101424q22309489sada99907e94b2cd0@mail.gmail.com>
2007/10/10, Han-Wen Nienhuys <hanwenn@gmail.com>:
> More to the point, I seemed to have lost my entire repository. This is
> the type of surprise I don't enjoy.
>
> Now, can someone explain why 'git branch' takes forever if there are
> only two non-remote branches ?
So,
Here is a question: I would like to share commitishes between two checkouts
of a repository. The reason for this is that I want to easily cherry
pick back and forth between the two. The files of in one of them
should be continually available, since I am running out of that
directory.
The way I solved that, was to have both repositories pointing to each
other, using alternates.
Now, after a couple of gc and pack-refs iterations, I am greeted by
hanwen@lilypond:~/vc/git6$ git fsck
missing tree 12b00ec3190f7b46a5fe0a3235445bead4c9645b
broken link from tree 1718d09e0394d113c162e4a3471e7a1f20914a94
to blob 635e2802568b85017007698c0e6dd4d28dca496f
broken link from tree 926899798fce75038e24f8fa1838f6da8bcf105f
to tree f1b852d270ebbaaf95d8ddc06c52763bad11ff25
missing blob 99f0c0d63276fce444e3a200167b636236784c52
missing tree f1b852d270ebbaaf95d8ddc06c52763bad11ff25
missing blob 236962a87fafae8ca2dce2dc550d344aa7a8884a
missing blob 7d69ca297f392a954c4cdcb62bb4c8a90ddb862b
missing blob 9e39be8f5cb4eeff97fcfd6eb77fefeda02f0e71
dangling blob f3a93f023080ce9fc6becb397e366cc4ceb192f5
could it be that GC does not handle cyclic alternates correctly?
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox