Git development
 help / color / mirror / Atom feed
* Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
From: Linus Torvalds @ 2007-10-05 16:43 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Pierre Habouzit, Junio C Hamano, git, Bernt Hansen
In-Reply-To: <20071005162139.GC31413@uranus.ravnborg.org>



On Fri, 5 Oct 2007, Sam Ravnborg wrote:
> 
> Took a short look at strbuf.h after seeing the above code.
> And I was suprised to see that all strbuf users were exposed to
> the strbuf structure.

Well, they *have* to. We want people to declare their strbufs as automatic 
or static structures, and using a opaque struct pointer is *not* an option 
(like "FILE" is doing in stdio.h).

> Following patch would at least make sure noone fiddle with strbuf internals.

No, following patch is fundamentally broken - it's not even a good 
starting point. It's bad, bad, bad.

It's also broken in another way: we want it to be really easy to use 
strbuf's as normal C strings.

Yes, many (totally idiotic and broken) interfaces think it's so important 
to "protect" their internal data structures that you have a 
"string_to_c()" helper function for that. That may be "good abstraction", 
but it's totally idiotic, because it results in horrible source code!

Tell me which is more readable:

	printf("Hello %s\n", sb->buf);

or

	printf("Hello %s\n", strbuf_to_c(sb));

and I claim that anybody who claims that the latter is "more readable" is 
full of shit, and has an agenda to push, so it's "more agenda-friendly" 
rather than readable!

So having "sb->buf" and "sb->len" be visible to users is a *good* thing. 
Otherwise you end up having to create millions of idiotic small helper 
functions, rather than just use the standard ones.

			Linus

^ permalink raw reply

* Re: [PATCH 2/2] Run garbage collection with loose object pruning after svn dcommit
From: Peter Baumann @ 2007-10-05 16:49 UTC (permalink / raw)
  To: Steven Grimm; +Cc: git
In-Reply-To: <47066255.6080500@midwinter.com>

On Fri, Oct 05, 2007 at 09:12:05AM -0700, Steven Grimm wrote:
> Peter Baumann wrote:
>> I don't like the automatic prune. What if someone has other objects in
>> there which shouldn't be pruned? Making git svn dcommit doing the prune
>> would be at least suprising, because how is one supposed to know that
>> doing a commit into svn will prune all your precious objects?
>>   
>
> "git commit" already does garbage collection, so we've already set a 
> precedent for a commit operation also doing some cleanup at the end. 
> However, you're correct that this cleanup behavior (and the way to turn it 
> off) should be documented so that there's some way to know about it. Doc 
> patch forthcoming.
>

That's new to me. Glancing over git-commit.sh, I could only find a
'git-gc --auto', but no prune. I am not against doing a 'git gc --auto',
but I am against the --prune, because this could make shared
repositories unfunctional.

-Peter

^ permalink raw reply

* Re: [ALTERNATE PATCH] Add a simple option parser.
From: Pierre Habouzit @ 2007-10-05 16:49 UTC (permalink / raw)
  To: Medve Emilian-EMMEDVE1
  Cc: Linus Torvalds, Mike Hommey, Kristian H?gsberg, git,
	Junio C Hamano
In-Reply-To: <598D5675D34BE349929AF5EDE9B03E270162501A@az33exm24.fsl.freescale.net>

[-- Attachment #1: Type: text/plain, Size: 1078 bytes --]

On Fri, Oct 05, 2007 at 04:41:48PM +0000, Medve Emilian-EMMEDVE1 wrote:
> Hello Linus,
> 
> 
> > On Fri, 5 Oct 2007, Medve Emilian-EMMEDVE1 wrote:
> > > > 
> > > >   Because it's GNU and that it's a heavy dependency to begin with.
> > > 
> > > So it's more of a political decision then a technical one?
> > 
> > I'd *strongly* argue against new dependencies unless they buy us
> > something major.
> > 
> > We've been good at cutting them down, including any required
> > libraries internally. We shouldn't add new ones.
> > 
> > So we'd have to include GNU getopt sources with the git tree, at
> > which point any advantage would be gone. Might as well include a
> > private and simpler version of our own.
> 
> 
> From what I understand argp is part of glibc.

  And of course requiring the glibc would be a big step forward for the
msys (or AIX, or HP-UX, or …) port !

-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* RE: [ALTERNATE PATCH] Add a simple option parser.
From: Linus Torvalds @ 2007-10-05 16:51 UTC (permalink / raw)
  To: Medve Emilian-EMMEDVE1
  Cc: Pierre Habouzit, Mike Hommey, Kristian H?gsberg, git,
	Junio C Hamano
In-Reply-To: <598D5675D34BE349929AF5EDE9B03E270162501A@az33exm24.fsl.freescale.net>



On Fri, 5 Oct 2007, Medve Emilian-EMMEDVE1 wrote:
> 
> From what I understand argp is part of glibc.

So are you arguing that we include all of glibc just to get git to be 
portable?

That's even worse.

		Linus

^ permalink raw reply

* Re: Many gits are offline this week
From: Dmitry Potapov @ 2007-10-05 17:19 UTC (permalink / raw)
  To: Dmitry Potapov, Randal L. Schwartz, git
In-Reply-To: <20071005162029.GA18522@old.davidb.org>

> >I believe I have found one mistake in your slides. Slide 18 reads:
> >"git-commit -a" is like "git-add .; git-commit"
> >
> >But it is incorrect, because "git-commit -a" does not add new files, so
> >it works like "git-add -u .; git-commit".
>
> "git-commit -a" also detects files that have been deleted, whereas
> "git-add" does not.

I just tried "git-add -u ." and it *does* detect deleted files.

$ git-status
# On branch master
nothing to commit (working directory clean)
$ rm oldfile
$ git-status
# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#
#       deleted:    oldfile
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git-add -u .
$ git-status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    oldfile
#
$ git-commit
Created commit 17e2bba: delete
 1 files changed, 0 insertions(+), 1 deletions(-)
 delete mode 100644 oldfile

So, it works exactly as "git-commit -a" in this case.

Dmitry

^ permalink raw reply

* Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
From: Sam Ravnborg @ 2007-10-05 17:24 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Pierre Habouzit, Junio C Hamano, git, Bernt Hansen
In-Reply-To: <alpine.LFD.0.999.0710050933330.23684@woody.linux-foundation.org>

Hi Linus.

> No, following patch is fundamentally broken - it's not even a good 
> starting point. It's bad, bad, bad.
> 
> It's also broken in another way: we want it to be really easy to use 
> strbuf's as normal C strings.
> 
> Yes, many (totally idiotic and broken) interfaces think it's so important 
> to "protect" their internal data structures that you have a 
> "string_to_c()" helper function for that. That may be "good abstraction", 
> but it's totally idiotic, because it results in horrible source code!
> 
> Tell me which is more readable:
> 
> 	printf("Hello %s\n", sb->buf);
> 
> or
> 
> 	printf("Hello %s\n", strbuf_to_c(sb));

Point taken although no sane person would name it strbuf_to_c(...).

	Sam

^ permalink raw reply

* Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
From: Sam Ravnborg @ 2007-10-05 17:25 UTC (permalink / raw)
  To: Pierre Habouzit, Linus Torvalds, Junio C Hamano, git,
	Bernt Hansen
In-Reply-To: <20071005163517.GD20305@artemis.corp>

On Fri, Oct 05, 2007 at 06:35:17PM +0200, Pierre Habouzit wrote:
> On Fri, Oct 05, 2007 at 04:21:39PM +0000, Sam Ravnborg wrote:
> > On Fri, Oct 05, 2007 at 08:26:44AM -0700, Linus Torvalds wrote:
> > > 
> > > 
> > > On Fri, 5 Oct 2007, Pierre Habouzit wrote:
> > > >  
> > > > -	strbuf_grow(buf, len);
> > > > +	/* only grow if not in place */
> > > > +	if (strbuf_avail(buf) + buf->len < len)
> > > > +		strbuf_grow(buf, len - buf->len);
> > > 
> > > Umm. This is really ugly.
> > > 
> > > The whole point of strbuf's was that you shouldn't be doing your own 
> > > allocation decisions etc. So why do it?
> > > 
> > > Wouldn't it be much better to have a strbuf_make_room() interface that 
> > > just guarantees that there is enough room fo "len"? 
> > > 
> > > Otherwise, code like the above would seem to make the whole point of a 
> > > safer string interface rather pointless. The above code only makes sense 
> > > if you know how the strbuf's are internally done, so it should not exists 
> > > except as internal strbuf code. No?
> > 
> > Took a short look at strbuf.h after seeing the above code.
> > And I was suprised to see that all strbuf users were exposed to
> > the strbuf structure.
> > Following patch would at least make sure noone fiddle with strbuf internals.
> > Cut'n'paste - only for the example of it.
> > It simply moves strbuf declaration to the .c file where it rightfully belongs.
> 
>   you're looking at an antiquated version, please look at the one in
> current master on current next. In this one, what you can do or not do
> with the struct is explained
> 
> > git did not build with this change....
> 
>   Of course it doesn't! people want to have direct access to ->buf and
> ->len, and it's definitely OK.

Understood now - thanks for the clarification.

	Sam

^ permalink raw reply

* Re: Problems using StGit and -rt kernel patchset
From: Clark Williams @ 2007-10-05 17:28 UTC (permalink / raw)
  To: catalin.marinas; +Cc: git
In-Reply-To: <1191591921.7321.63.camel@pc1117.cambridge.arm.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Catalin Marinas wrote:
> Clark,
> 
> What version of StGIT are you using? You might use a too new GIT with an
> older StGIT or maybe there are just some bugs in StGIT.
> 

$ stg --version
Stacked GIT 0.13
git version 1.5.3.3
Python version 2.5.1 (r251:54863, Sep 14 2007, 10:49:05)
[GCC 4.1.2 20070821 (Red Hat 4.1.2-23)]


> On Wed, 2007-10-03 at 09:19 -0500, Clark Williams wrote:
>> I've been working on the -rt patch series for the kernel and would like to to use
>> StGit to manage the patches. Unfortunately I've had limited success, so I thought I'd
>> ask the git/stgit community if what I'm doing is wrong.
>>
>> I clone Linus's tree to a common directory, then clone it locally to work:
>>
>> $ git clone -s -l /home/src/linux-2.6.git scratch.git
>> $ cd scratch.git
>> $ stg init
>> $ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc8
>> $ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc8-rt1/series
>> <fix the things quilt lets through and stg barfs on, like malformed email addresses>
> 
> If git-quiltimport behaves better with malformed patches, use it and run
> 'stg uncommit -n 368' afterwards (the 'uncommit' takes some other useful
> options as well, see --help).

Ah, I *knew* I had seen a git import command go by on the list. I may try that.

> 
>> <watch 368 patches be applied and committed>
>> <work work work>
> 
> Do you modify any of the -rt patches or you create new ones?

I've modified patches in the past, but normally I just apply patches on top of the
- -rt patchset

> 
>> <get a new patch queue>
>> $ (cd /home/src/linux-2.6.git && git pull)
>> $ stg pull
>> $ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc9
>> $ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc9-rt1/series
>> Checking for changes in the working directory ... done
>> stg import: env git-commit-tree 520b9d0db6a1142271a68b2b38cca002be40f6cb -p
>> da0a81e98c06aa0d1e05b9012c2b2facb1807e12 failed (fatal:
>> da0a81e98c06aa0d1e05b9012c2b2facb1807e12 is not a valid 'commit' object)
> 
> I'm not sure why the first import worked. It seems that StGIT uses the
> tag id (da0a81e9) rather than the corresponding commit id (3146b39c). I
> remember having this problem in the past when creating branches and I
> fixed StGIT to always get the corresponding commit id. Using
> 'v2.6.23-rc9^{commit}' as the 'branch' argument rather than just the tag
> should fix the problem.
> 

Gah, I just realized I typoed the above stg branch. It should have been named
rt-2.6.23-rc9-rt1.

Hmmm, you're saying that when I want to create a branch that's based on a particular
tag, I need to use this:

$ stg branch --create rt-2.6.23-rc9-rt1 v2.6.23-rc9^{commit}

That is, add '^{commit}' to the tag I want to base from?

>> At this point I'm clueless as to:
>>
>> 1. What I've done wrong
> 
> Probably nothing (just hidden features of StGIT :-))
> 
>> 2. How to recover/debug this
> 
> You can recreate the branch with the commit rather than tag id. With a
> sufficiently new StGIT, you could use 'stg rebase <id>' on the branch. I
> assume that no patch was pushed because import failed (though the first
> imported patch might be in an undefined state and can be removed).
> 

I'm not really sure that 'stg rebase' is what I want, since I tend to go back and
forth between -rt kernel and would like to leave them alone (i.e. not rebase the
rt-2.6.23-rt8 branch to rt-2.6.23-rt9, but just create a new branch). Possibly I'm
missing a usage for stg rebase?


Thanks for the ideas. I'll go try some out right now!

clark

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFHBnRUqA4JVb61b9cRAvoPAJsG4Ej3J6mSuHeT6KEpiRF33+4dcgCglmvT
18DbpCixAt/x+Ug0pUn24cw=
=oL/g
-----END PGP SIGNATURE-----

^ permalink raw reply

* Re: [PATCH 2/2] Run garbage collection with loose object pruning after svn dcommit
From: Steven Grimm @ 2007-10-05 17:48 UTC (permalink / raw)
  To: Peter Baumann; +Cc: git
In-Reply-To: <20071005164912.GE4797@xp.machine.xx>

Peter Baumann wrote:
> That's new to me. Glancing over git-commit.sh, I could only find a
> 'git-gc --auto', but no prune. I am not against doing a 'git gc --auto',
> but I am against the --prune, because this could make shared
> repositories unfunctional.
>   

Does anyone run "git svn dcommit" from a shared repository? That is the 
only command that will trigger this code path.

Given that you lose all the svn metadata if you do "git clone" (or "git 
clone -s") on a git-svn-managed repository, it's not clear to me that 
anyone would ever be bitten by this. Counterexamples welcome, of course.

How would you feel about a separate config option to specifically enable 
auto-pruning, and having "git svn clone" set that option by default? 
Presumably anyone who is setting up a shared git-svn repository will be 
up to the task of disabling the option.

-Steve

^ permalink raw reply

* Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
From: Linus Torvalds @ 2007-10-05 18:05 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Pierre Habouzit, Junio C Hamano, git, Bernt Hansen
In-Reply-To: <20071005172425.GD31413@uranus.ravnborg.org>



On Fri, 5 Oct 2007, Sam Ravnborg wrote:
> 
> Point taken although no sane person would name it strbuf_to_c(...).

I agree with the "no sane person", but the problem is that the insane 
people seem to be in no short supply.

Go look at string libraries, and they all do something like that. Or 
worse.

 - ustr: yes, it uses *exactly* what I described: "ustr_cstr()" and 
   "ustr_len()" instead of having the data/length available easily 
   (although it claims to do it for size reasons - perhaps valid in some 
   cases!)

 - libast: SPIF_CHARPTR_C(x). No, really.

 - Vstr: doesn't have a linear data representation. Needs explicit 
   flattening - although it appears to be something you're not ever 
   supposed to do - it has 200+ functions to do various magic things. 

 - Qt (QString): QString::"data()", "ascii()" or "utf8()" or something.

   At least this has the excuse of really being able to handle different 
   locales (it didn't do that originally, though!), but they end up having 
   a million helper functions exactly because you cannot use the normal 
   string routines on anything!

 - safesrtr, bstring: you just cast the pointer to "char *". Now *that* is 
   classy and safe.

So there's a few sane out there, but I actually think they are in the 
minority (Glib, others)

			Linus

^ permalink raw reply

* Re: Question about "git commit -a"
From: Marko Macek @ 2007-10-05 18:16 UTC (permalink / raw)
  To: Kristian Høgsberg
  Cc: Andreas Ericsson, Paolo Ciarrocchi, Johannes Schindelin,
	Nguyen Thai Ngoc Duy, Wincent Colaiuta, Git Mailing List
In-Reply-To: <1191599763.7117.18.camel@hinata.boston.redhat.com>


> I understand why people like staging and commit without -a, seeing how
> it's faster and all, but I have a serious problem with this practice
> that I haven't seen brought up on the list.  How do you know what you
> commit actually works or even compiles?  The reason that I almost
> exclusively use -a with commit is that I want to know that what I just
> compiled and tested is what I will be committing.  I don't want to just
> commit half the files in my working copy, I want to make sure that the
> exact state of my project that I just compiled and tested is what gets
> into version controlled history.
> 
> git commit -a isn't sloppy to me - eye balling some subset of your
> working copy and committing that under the assumption that you don't
> make mistakes and don't need to compile what you commit... that is
> sloppy.

Agreed. For this reason git-commit without -a, staging, index, ... is
not really interesting to me.

In CVS and subversion (which has nicer working-copy command line interface IMHO),
I simply make a copy of the working copy, revert the non-commitable parts, build,
commit the minor changes, and then update the first copy. For larger projects,
where this can be slow, I use diff/revert/patch.

Small checkins are nice for git-bisect, but if they don't build...

Mark

^ permalink raw reply

* Re: Many gits are offline this week
From: Jeff King @ 2007-10-05 18:33 UTC (permalink / raw)
  To: Dmitry Potapov; +Cc: Randal L. Schwartz, git
In-Reply-To: <37fcd2780710051019l37b3dde2p57f24fef27b62bf6@mail.gmail.com>

On Fri, Oct 05, 2007 at 09:19:02PM +0400, Dmitry Potapov wrote:

> > "git-commit -a" also detects files that have been deleted, whereas
> > "git-add" does not.
> I just tried "git-add -u ." and it *does* detect deleted files.

IIRC, this was a fix by Junio recently, but I can't seem to find the
commit.

-Peff

^ permalink raw reply

* Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
From: Dmitry Potapov @ 2007-10-05 19:27 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Sam Ravnborg, Pierre Habouzit, Junio C Hamano, git, Bernt Hansen
In-Reply-To: <alpine.LFD.0.999.0710051036282.23684@woody.linux-foundation.org>

On 10/5/07, Linus Torvalds <torvalds@linux-foundation.org> wrote:
>  - Qt (QString): QString::"data()", "ascii()" or "utf8()" or something.
>
>    At least this has the excuse of really being able to handle different
>    locales (it didn't do that originally, though!), but they end up having
>    a million helper functions exactly because you cannot use the normal
>    string routines on anything!

I am afraid you cannot allow the direct access to the internal buffer of
a string if this buffer can be implicitly shared between different
instances as it is the case with QString. Because when you want to make
some modification or want to get a non-const pointer to this buffer, its
content has to be copied if the buffer is shared between a few copies.

On the other hand, I don't see what is the problem with using C string
routines with it. ::data() returns a pointer and :capacity () returns
allocated size of the buffer. ::resize() changes the size of the string.
If you need a greater allocated size, you can use ::reserve().
Or did I miss something?

Dmitry

^ permalink raw reply

* Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
From: Linus Torvalds @ 2007-10-05 19:33 UTC (permalink / raw)
  To: Dmitry Potapov
  Cc: Sam Ravnborg, Pierre Habouzit, Junio C Hamano, git, Bernt Hansen
In-Reply-To: <37fcd2780710051227n96d29a9v543831ca8292c862@mail.gmail.com>



On Fri, 5 Oct 2007, Dmitry Potapov wrote:
> 
> On the other hand, I don't see what is the problem with using C string
> routines with it. ::data() returns a pointer and :capacity () returns
> allocated size of the buffer. ::resize() changes the size of the string.
> If you need a greater allocated size, you can use ::reserve().
> Or did I miss something?

No, you didn't miss anything. Except for the fact that the original point 
was that it's just a damn lot simpler and more straightforward to code 
just using "sb->buf" for the data. IOW, go back two or three emails in the 
thread.

		Linus

^ permalink raw reply

* [PATCH 1/4] git-gui i18n: Add more words to glossary.
From: Christian Stimming @ 2007-10-05 20:39 UTC (permalink / raw)
  To: Johannes Schindelin, Shawn Pearce; +Cc: git

Signed-off-by: Christian Stimming <stimming@tuhh.de>

---
 po/glossary/git-gui-glossary.pot |   12 ++++++++++--
 po/glossary/git-gui-glossary.txt |    2 ++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/po/glossary/git-gui-glossary.pot b/po/glossary/git-gui-glossary.pot
index c955b46..a2e5c73 100644
--- a/po/glossary/git-gui-glossary.pot
+++ b/po/glossary/git-gui-glossary.pot
@@ -6,12 +6,12 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2007-07-27 19:21+0200\n"
+"POT-Creation-Date: 2007-10-05 22:30+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: ENCODING\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.)"
@@ -42,6 +42,10 @@ msgstr ""
 msgid "checkout [verb]"
 msgstr ""
 
+#. ""
+msgid "clone [verb]"
+msgstr ""
+
 #. "A single point in the git history."
 msgid "commit [noun]"
 msgstr ""
@@ -82,6 +86,10 @@ msgstr ""
 msgid "message"
 msgstr ""
 
+#. ""
+msgid "prune"
+msgstr ""
+
 #. "Pulling a branch means to fetch it and merge it."
 msgid "pull"
 msgstr ""
diff --git a/po/glossary/git-gui-glossary.txt b/po/glossary/git-gui-glossary.txt
index bb55aa8..b53740d 100644
--- a/po/glossary/git-gui-glossary.txt
+++ b/po/glossary/git-gui-glossary.txt
@@ -5,6 +5,7 @@
 "branch [verb]"	""
 "checkout [noun]"	""
 "checkout [verb]"	"The action of updating the working tree to a revision which was stored in the object database."
+"clone [verb]"	""
 "commit [noun]"	"A single point in the git history."
 "commit [verb]"	"The action of storing a new snapshot of the project's state in the git history."
 "diff [noun]"	""
@@ -15,6 +16,7 @@
 "merge [noun]"	"A successful merge results in the creation of a new commit representing the result of the merge."
 "merge [verb]"	"To bring the contents of another branch into the current branch."
 "message"	""
+"prune"	""
 "pull"	"Pulling a branch means to fetch it and merge it."
 "push"	"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?)"
 "redo"	""
-- 
1.5.3.rc2.6.g40240

^ permalink raw reply related

* [PATCH] git-config: don't silently ignore options after --list
From: Frank Lichtenheld @ 2007-10-05 20:16 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano, Frank Lichtenheld

Error out if someone gives options after --list since that is
not a valid syntax.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
---
 builtin-config.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

 Two minutes of my life I don't get back ;)

diff --git a/builtin-config.c b/builtin-config.c
index 0a605e0..cb7e9e9 100644
--- a/builtin-config.c
+++ b/builtin-config.c
@@ -172,8 +172,11 @@ int cmd_config(int argc, const char **argv, const char *prefix)
 			type = T_INT;
 		else if (!strcmp(argv[1], "--bool"))
 			type = T_BOOL;
-		else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l"))
+		else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l")) {
+			if (argc != 2)
+				usage(git_config_set_usage);
 			return git_config(show_all_config);
+		}
 		else if (!strcmp(argv[1], "--global")) {
 			char *home = getenv("HOME");
 			if (home) {
-- 
1.5.3.4

^ permalink raw reply related

* [PATCH 2/4] git-gui i18n: Update German glossary according to mailing list discussion.
From: Christian Stimming @ 2007-10-05 20:39 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Shawn Pearce, git
In-Reply-To: <200710052239.02492.stimming@tuhh.de>

 Signed-off-by: Christian Stimming <stimming@tuhh.de>

---
 po/glossary/de.po |   45 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/po/glossary/de.po b/po/glossary/de.po
index aab3b22..054cf4d 100644
--- a/po/glossary/de.po
+++ b/po/glossary/de.po
@@ -6,7 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: git-gui glossary\n"
-"PO-Revision-Date: 2007-07-26 14:45+0200\n"
+"POT-Creation-Date: 2007-10-05 22:30+0200\n"
+"PO-Revision-Date: 2007-10-05 22:32+0200\n"
 "Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
 "Language-Team: German \n"
 "MIME-Version: 1.0\n"
@@ -19,11 +20,17 @@ msgid ""
 msgstr ""
 "Deutsche Übersetzung.\n"
 "Andere deutsche SCM:\n"
-"  http://tortoisesvn.net/docs/release/TortoiseSVN_de/index.html und http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_de.po (username=guest, password empty, gut),\n"
-"  http://msdn.microsoft.com/de-de/library/ms181038(vs.80).aspx (MS Visual Source Safe, kommerziell),\n"
-"  http://cvsbook.red-bean.com/translations/german/Kap_06.html (mittelmäßig),\n"
-"  http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/de_DE.po?view=markup (mittelmäßig),\n"
-"  http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/de/rapidsvn.po (username=guest, password empty, schlecht)"
+"  http://tortoisesvn.net/docs/release/TortoiseSVN_de/index.html und http://"
+"tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_de.po "
+"(username=guest, password empty, gut),\n"
+"  http://msdn.microsoft.com/de-de/library/ms181038(vs.80).aspx (MS Visual "
+"Source Safe, kommerziell),\n"
+"  http://cvsbook.red-bean.com/translations/german/Kap_06.html "
+"(mittelmäßig),\n"
+"  http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/de_DE.po?"
+"view=markup (mittelmäßig),\n"
+"  http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/de/rapidsvn.po "
+"(username=guest, password empty, schlecht)"
 
 #. ""
 msgid "amend"
@@ -43,19 +50,31 @@ msgstr "verzweigen"
 
 #. ""
 msgid "checkout [noun]"
-msgstr "Auscheck? Ausspielung? Abruf? (Source Safe: Auscheckvorgang)"
+msgstr ""
+"Arbeitskopie (Erstellung einer Arbeitskopie; Auscheck? Ausspielung? Abruf? "
+"Source Safe: Auscheckvorgang)"
 
 #. "The action of updating the working tree to a revision which was stored in the object database."
 msgid "checkout [verb]"
-msgstr "auschecken? ausspielen? abrufen? (Source Safe: auschecken)"
+msgstr ""
+"Arbeitskopie erstellen; Zweig umstellen [checkout a branch] (auschecken? "
+"ausspielen? abrufen? Source Safe: auschecken)"
+
+#. ""
+msgid "clone [verb]"
+msgstr "kopieren"
 
 #. "A single point in the git history."
 msgid "commit [noun]"
-msgstr "Übertragung (Sendung?, Übergabe?, Einspielung?, Ablagevorgang?)"
+msgstr ""
+"Version; Eintragung; Änderung (Buchung?, Eintragung?, Übertragung?, "
+"Sendung?, Übergabe?, Einspielung?, Ablagevorgang?)"
 
 #. "The action of storing a new snapshot of the project's state in the git history."
 msgid "commit [verb]"
-msgstr "übertragen (TortoiseSVN: übertragen; Source Safe: einchecken; senden?, übergeben?, einspielen?, einpflegen?, ablegen?)"
+msgstr ""
+"eintragen (TortoiseSVN: übertragen; Source Safe: einchecken; senden?, "
+"übergeben?, einspielen?, einpflegen?, ablegen?)"
 
 #. ""
 msgid "diff [noun]"
@@ -87,7 +106,11 @@ msgstr "zusammenführen"
 
 #. ""
 msgid "message"
-msgstr "Meldung (Nachricht?; Source Safe: Kommentar)"
+msgstr "Beschreibung (Meldung?, Nachricht?; Source Safe: Kommentar)"
+
+#. ""
+msgid "prune"
+msgstr "löschen"
 
 #. "Pulling a branch means to fetch it and merge it."
 msgid "pull"
-- 
1.5.3.rc2.6.g40240

^ permalink raw reply related

* [PATCH 3/4] git-gui i18n: Incorporate glossary changes into existing German translation.
From: Christian Stimming @ 2007-10-05 20:40 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Shawn Pearce, git
In-Reply-To: <200710052239.47628.stimming@tuhh.de>

Signed-off-by: Christian Stimming <stimming@tuhh.de>

---
 po/de.po |  113 ++++++++++++++++++++++++++------------------------------------
 1 files changed, 47 insertions(+), 66 deletions(-)

diff --git a/po/de.po b/po/de.po
index 94b7463..ee69d66 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: git-gui\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2007-08-11 17:28+0200\n"
-"PO-Revision-Date: 2007-08-11 17:37+0200\n"
+"PO-Revision-Date: 2007-10-05 22:00+0200\n"
 "Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
 "Language-Team: German\n"
 "MIME-Version: 1.0\n"
@@ -80,15 +80,15 @@ msgstr "Verändert, nicht bereitgestellt"
 
 #: git-gui.sh:1325 git-gui.sh:1330
 msgid "Staged for commit"
-msgstr "Bereitgestellt zur Übertragung"
+msgstr "Bereitgestellt zum Eintragen"
 
 #: git-gui.sh:1326 git-gui.sh:1331
 msgid "Portions staged for commit"
-msgstr "Teilweise bereitgestellt zur Übertragung"
+msgstr "Teilweise bereitgestellt zum Eintragen"
 
 #: git-gui.sh:1327 git-gui.sh:1332
 msgid "Staged for commit, missing"
-msgstr "Bereitgestellt zur Übertragung, fehlend"
+msgstr "Bereitgestellt zum Eintragen, fehlend"
 
 #: git-gui.sh:1329
 msgid "Untracked, not staged"
@@ -152,7 +152,7 @@ msgstr "Zweig"
 
 #: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152
 msgid "Commit"
-msgstr "Übertragen"
+msgstr "Eintragen"
 
 #: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
 msgid "Merge"
@@ -249,7 +249,7 @@ msgstr "Erstellen..."
 
 #: git-gui.sh:1764
 msgid "Checkout..."
-msgstr "Auschecken..."
+msgstr "Arbeitskopie erstellen..."
 
 #: git-gui.sh:1770
 msgid "Rename..."
@@ -265,11 +265,11 @@ msgstr "Zurücksetzen..."
 
 #: git-gui.sh:1792 git-gui.sh:2169
 msgid "New Commit"
-msgstr "Neu übertragen"
+msgstr "Neue Version"
 
 #: git-gui.sh:1800 git-gui.sh:2176
 msgid "Amend Last Commit"
-msgstr "Letzte Übertragung nachbessern"
+msgstr "Letzte Version nachbessern"
 
 #: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99
 msgid "Rescan"
@@ -277,11 +277,11 @@ msgstr "Neu laden"
 
 #: git-gui.sh:1815
 msgid "Stage To Commit"
-msgstr "Zur Übertragung bereitstellen"
+msgstr "Zum Eintragen bereitstellen"
 
 #: git-gui.sh:1820
 msgid "Stage Changed Files To Commit"
-msgstr "Geänderte Dateien zur Übertragung bereitstellen"
+msgstr "Geänderte Dateien zum Eintragen bereitstellen"
 
 #: git-gui.sh:1826
 msgid "Unstage From Commit"
@@ -334,11 +334,11 @@ msgstr "Aktueller Zweig:"
 
 #: git-gui.sh:2075
 msgid "Staged Changes (Will Be Committed)"
-msgstr "Bereitgestellte Änderungen (werden übertragen)"
+msgstr "Bereitgestellte Änderungen (werden eingetragen)"
 
 #: git-gui.sh:2095
 msgid "Unstaged Changes (Will Not Be Committed)"
-msgstr "Nicht bereitgestellte Änderungen (werden nicht übertragen)"
+msgstr "Nicht bereitgestellte Änderungen (werden nicht eingetragen)"
 
 #: git-gui.sh:2142
 msgid "Stage Changed"
@@ -346,27 +346,27 @@ msgstr "Geänderte bereitstellen"
 
 #: git-gui.sh:2188
 msgid "Initial Commit Message:"
-msgstr "Erstmalige Übertragungsmeldung"
+msgstr "Beschreibung der ersten Version:"
 
 #: git-gui.sh:2189
 msgid "Amended Commit Message:"
-msgstr "Übertragungsmeldung mit Nachbesserung:"
+msgstr "Beschreibung der nachgebesserten Version:"
 
 #: git-gui.sh:2190
 msgid "Amended Initial Commit Message:"
-msgstr "Erstmalige Übertragungsmeldung mit Nachbesserung:"
+msgstr "Beschreibung der nachgebesserten ersten Version:"
 
 #: git-gui.sh:2191
 msgid "Amended Merge Commit Message:"
-msgstr "Zusammenführungs-Übertragungsmeldung mit Nachbesserung"
+msgstr "Beschreibung der nachgebesserten Zusammenführungs-Version:"
 
 #: git-gui.sh:2192
 msgid "Merge Commit Message:"
-msgstr "Übertragungsmeldung Zusammenführung:"
+msgstr "Beschreibung der Zusammenführungs-Version:"
 
 #: git-gui.sh:2193
 msgid "Commit Message:"
-msgstr "Übertragungsmeldung:"
+msgstr "Versionsbeschreibung:"
 
 #: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73
 msgid "Copy All"
@@ -418,11 +418,11 @@ msgstr "Datei-Browser"
 
 #: lib/blame.tcl:81
 msgid "Commit:"
-msgstr "Übertragung:"
+msgstr "Version:"
 
 #: lib/blame.tcl:249
 msgid "Copy Commit"
-msgstr "Übertragung kopieren"
+msgstr "Version kopieren"
 
 #: lib/blame.tcl:369
 #, tcl-format
@@ -431,11 +431,11 @@ msgstr "%s lesen..."
 
 #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19
 msgid "Checkout Branch"
-msgstr "Zweig auschecken"
+msgstr "Zweig umstellen"
 
 #: lib/branch_checkout.tcl:23
 msgid "Checkout"
-msgstr "Auschecken"
+msgstr "Umstellen"
 
 #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35
 #: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283
@@ -507,7 +507,7 @@ msgstr "Zurücksetzen"
 
 #: lib/branch_create.tcl:97
 msgid "Checkout After Creation"
-msgstr "Auschecken nach Erstellen"
+msgstr "Arbeitskopie umstellen nach Erstellen"
 
 #: lib/branch_create.tcl:131
 msgid "Please select a tracking branch."
@@ -686,8 +686,7 @@ msgstr ""
 #: lib/checkout_op.tcl:353
 #, tcl-format
 msgid "Aborted checkout of '%s' (file level merging is required)."
-msgstr ""
-"Auschecken von »%s« abgebrochen (Zusammenführen der Dateien ist notwendig)."
+msgstr "Zweig umstellen von »%s« abgebrochen (Zusammenführen der Dateien ist notwendig)."
 
 #: lib/checkout_op.tcl:354
 msgid "File level merge required."
@@ -707,8 +706,7 @@ msgid ""
 msgstr ""
 "Die Arbeitskopie ist nicht auf einem lokalen Zweig.\n"
 "\n"
-"Wenn Sie auf einem Zwei arbeiten möchten, erstellen Sie bitte jetzt einen "
-"Zweig mit der Auswahl »Abgetrennte Auscheck-Version«."
+"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«."
 
 #: lib/checkout_op.tcl:478
 #, tcl-format
@@ -750,7 +748,7 @@ msgstr ""
 
 #: lib/choose_rev.tcl:53
 msgid "This Detached Checkout"
-msgstr "Abgetrennte Auscheck-Version"
+msgstr "Abgetrennte Arbeitskopie-Version"
 
 #: lib/choose_rev.tcl:60
 msgid "Revision Expression:"
@@ -831,8 +829,7 @@ msgid ""
 msgstr ""
 "Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n"
 "\n"
-"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden "
-"geändert.  Vor einer neuen Übertragung muss neu geladen werden.\n"
+"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden geändert.  Vor dem Eintragen einer neuen Version muss neu geladen werden.\n"
 "\n"
 "Es wird gleich neu geladen.\n"
 
@@ -844,10 +841,9 @@ msgid ""
 "File %s has merge conflicts.  You must resolve them and stage the file "
 "before committing.\n"
 msgstr ""
-"Nicht zusammengeführte Dateien können nicht übertragen werden.\n"
+"Nicht zusammengeführte Dateien können nicht eingetragen werden.\n"
 "\n"
-"Die Datei %s hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie "
-"müssen diese Konflikte auflösen, bevor Sie übertragen können.\n"
+"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie müssen diese Konflikte auflösen, bevor Sie eintragen können.\n"
 
 #: lib/commit.tcl:162
 #, tcl-format
@@ -858,7 +854,7 @@ msgid ""
 msgstr ""
 "Unbekannter Dateizustand »%s«.\n"
 "\n"
-"Datei »%s« kann nicht übertragen werden.\n"
+"Datei »%s« kann nicht eingetragen werden.\n"
 
 #: lib/commit.tcl:170
 msgid ""
@@ -866,10 +862,9 @@ msgid ""
 "\n"
 "You must stage at least 1 file before you can commit.\n"
 msgstr ""
-"Keine Änderungen vorhanden, die übertragen werden könnten.\n"
+"Keine Änderungen vorhanden, die eingetragen werden könnten.\n"
 "\n"
-"Sie müssen mindestens eine Datei bereitstellen, bevor Sie übertragen "
-"können.\n"
+"Sie müssen mindestens eine Datei bereitstellen, bevor Sie eintragen können.\n"
 
 #: lib/commit.tcl:183
 msgid ""
@@ -881,16 +876,15 @@ msgid ""
 "- Second line: Blank\n"
 "- Remaining lines: Describe why this change is good.\n"
 msgstr ""
-"Bitte geben Sie eine Übertragungsmeldung ein.\n"
+"Bitte geben Sie eine Versionsbeschreibung ein.\n"
 "\n"
-"Eine gute Übertragungsmeldung enthält folgende Abschnitte:\n"
+"Eine gute Versionsbeschreibung enthält folgende Abschnitte:\n"
 "\n"
 "- Erste Zeile: Eine Zusammenfassung, was man gemacht hat.\n"
 "\n"
 "- Zweite Zeile: Leerzeile\n"
 "\n"
-"- Rest der Meldung: Eine ausführliche Beschreibung, warum diese Änderung "
-"hilfreich ist.\n"
+"- Rest: Eine ausführliche Beschreibung, warum diese Änderung hilfreich ist.\n"
 
 #: lib/commit.tcl:257
 msgid "write-tree failed:"
@@ -904,16 +898,15 @@ msgid ""
 "\n"
 "A rescan will be automatically started now.\n"
 msgstr ""
-"Keine Änderungen zu übertragen.\n"
+"Keine Änderungen einzutragen.\n"
 "\n"
-"Es gibt keine geänderte Datei bei dieser Übertragung und es wurde auch "
-"nichts zusammengeführt.\n"
+"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts zusammengeführt.\n"
 "\n"
 "Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n"
 
 #: lib/commit.tcl:286
 msgid "No changes to commit."
-msgstr "Keine Änderungen, die übertragen werden können."
+msgstr "Keine Änderungen, die eingetragen werden können."
 
 #: lib/commit.tcl:317
 msgid "commit-tree failed:"
@@ -1024,8 +1017,7 @@ msgstr "Warnung"
 
 #: lib/error.tcl:81
 msgid "You must correct the above errors before committing."
-msgstr ""
-"Sie müssen die obigen Fehler zuerst beheben, bevor Sie übertragen können."
+msgstr "Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können."
 
 #: lib/index.tcl:364
 #, tcl-format
@@ -1054,8 +1046,7 @@ msgid ""
 msgstr ""
 "Zusammenführen kann nicht gleichzeitig mit Nachbessern durchgeführt werden.\n"
 "\n"
-"Sie müssen zuerst die Nachbesserungs-Übertragung abschließen, bevor Sie "
-"zusammenführen können.\n"
+"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie zusammenführen können.\n"
 
 #: lib/merge.tcl:27
 msgid ""
@@ -1085,10 +1076,7 @@ msgid ""
 msgstr ""
 "Zusammenführung mit Konflikten.\n"
 "\n"
-"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese "
-"Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder "
-"bereitstellen und übertragen, um die Zusammenführung abzuschließen. Erst "
-"danach kann eine neue Zusammenführung begonnen werden.\n"
+"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst danach kann eine neue Zusammenführung begonnen werden.\n"
 
 #: lib/merge.tcl:54
 #, tcl-format
@@ -1102,10 +1090,7 @@ msgid ""
 msgstr ""
 "Es liegen Änderungen vor.\n"
 "\n"
-"Die Datei »%s« wurde geändert.  Sie sollten zuerst die bereitgestellte "
-"Übertragung abschließen, bevor Sie eine Zusammenführung beginnen.  Mit "
-"dieser Reihenfolge können Sie mögliche Konflikte beim Zusammenführen "
-"wesentlich einfacher beheben oder abbrechen.\n"
+"Die Datei »%s« wurde geändert.  Sie sollten zuerst die bereitgestellte Version abschließen, bevor Sie eine Zusammenführung beginnen.  Mit dieser Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich einfacher beheben oder abbrechen.\n"
 
 #: lib/merge.tcl:106
 #, tcl-format
@@ -1142,7 +1127,7 @@ msgid ""
 msgstr ""
 "Abbruch der Nachbesserung ist nicht möglich.\n"
 "\n"
-"Sie müssen die Nachbesserung der Übertragung abschließen.\n"
+"Sie müssen die Nachbesserung der Version abschließen.\n"
 
 #: lib/merge.tcl:222
 msgid ""
@@ -1154,7 +1139,7 @@ msgid ""
 msgstr ""
 "Zusammenführen abbrechen?\n"
 "\n"
-"Wenn Sie abbrechen, gehen alle noch nicht übertragenen Änderungen verloren.\n"
+"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen verloren.\n"
 "\n"
 "Zusammenführen jetzt abbrechen?"
 
@@ -1168,8 +1153,7 @@ msgid ""
 msgstr ""
 "Änderungen zurücksetzen?\n"
 "\n"
-"Wenn Sie zurücksetzen, gehen alle noch nicht übertragenen Änderungen "
-"verloren.\n"
+"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen verloren.\n"
 "\n"
 "Änderungen jetzt zurücksetzen?"
 
@@ -1216,7 +1200,7 @@ msgstr "E-Mail-Adresse"
 
 #: lib/option.tcl:188
 msgid "Summarize Merge Commits"
-msgstr "Zusammenführungs-Übertragungen zusammenfassen"
+msgstr "Zusammenführungs-Versionen zusammenfassen"
 
 #: lib/option.tcl:189
 msgid "Merge Verbosity"
@@ -1291,10 +1275,7 @@ msgstr "Für »Zusammenführen mit« muss ein Zweig angegeben werden."
 msgid ""
 "One or more of the merge tests failed because you have not fetched the "
 "necessary commits.  Try fetching from %s first."
-msgstr ""
-"Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die "
-"notwendigen Versionen vorher angefordert haben.  Sie sollten versuchen, "
-"zuerst von »%s« anzufordern."
+msgstr "Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die notwendigen Versionen vorher angefordert haben.  Sie sollten versuchen, zuerst von »%s« anzufordern."
 
 #: lib/remote_branch_delete.tcl:207
 msgid "Please select one or more branches to delete."
-- 
1.5.3.rc2.6.g40240

^ permalink raw reply related

* [PATCH 4/4] git-gui i18n: Update German translation, including latest glossary changes.
From: Christian Stimming @ 2007-10-05 20:41 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Shawn Pearce, git
In-Reply-To: <200710052240.40591.stimming@tuhh.de>

Signed-off-by: Christian Stimming <stimming@tuhh.de>

---
 po/de.po |  798 +++++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 633 insertions(+), 165 deletions(-)

diff --git a/po/de.po b/po/de.po
index ee69d66..60b9ea5 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,23 +7,41 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git-gui\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-08-11 17:28+0200\n"
-"PO-Revision-Date: 2007-10-05 22:00+0200\n"
+"POT-Creation-Date: 2007-10-05 22:01+0200\n"
+"PO-Revision-Date: 2007-10-05 22:27+0200\n"
 "Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
 "Language-Team: German\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: git-gui.sh:531
+#: git-gui.sh:41 git-gui.sh:631 git-gui.sh:645 git-gui.sh:658 git-gui.sh:740
+#: git-gui.sh:759
+msgid "git-gui: fatal error"
+msgstr "git-gui: Programmfehler"
+
+#: git-gui.sh:592
+#, tcl-format
+msgid "Invalid font specified in %s:"
+msgstr "Ungültige Zeichensatz-Angabe in %s:"
+
+#: git-gui.sh:617
+msgid "Main Font"
+msgstr "Programmschriftart"
+
+#: git-gui.sh:618
+msgid "Diff/Console Font"
+msgstr "Vergleich-Schriftart"
+
+#: git-gui.sh:632
 msgid "Cannot find git in PATH."
 msgstr "Git kann im PATH nicht gefunden werden."
 
-#: git-gui.sh:550
+#: git-gui.sh:659
 msgid "Cannot parse Git version string:"
 msgstr "Git Versionsangabe kann nicht erkannt werden:"
 
-#: git-gui.sh:567
+#: git-gui.sh:676
 #, tcl-format
 msgid ""
 "Git version cannot be determined.\n"
@@ -42,79 +60,79 @@ msgstr ""
 "\n"
 "Soll angenommen werden, »%s« sei Version 1.5.0?\n"
 
-#: git-gui.sh:689
-msgid "Cannot find the git directory:"
-msgstr "Git-Verzeichnis kann nicht gefunden werden:"
-
-#: git-gui.sh:697
+#: git-gui.sh:849
 msgid "Git directory not found:"
 msgstr "Git-Verzeichnis nicht gefunden:"
 
-#: git-gui.sh:703
+#: git-gui.sh:856
+msgid "Cannot move to top of working directory:"
+msgstr "Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt werden:"
+
+#: git-gui.sh:863
 msgid "Cannot use funny .git directory:"
 msgstr "Unerwartete Struktur des .git Verzeichnis:"
 
-#: git-gui.sh:708
+#: git-gui.sh:868
 msgid "No working directory"
 msgstr "Kein Arbeitsverzeichnis"
 
-#: git-gui.sh:854
+#: git-gui.sh:1015
 msgid "Refreshing file status..."
 msgstr "Dateistatus aktualisieren..."
 
-#: git-gui.sh:891
+#: git-gui.sh:1080
 msgid "Scanning for modified files ..."
 msgstr "Nach geänderten Dateien suchen..."
 
-#: git-gui.sh:1057 lib/browser.tcl:247
+#: git-gui.sh:1255 lib/browser.tcl:245
 msgid "Ready."
 msgstr "Bereit."
 
-#: git-gui.sh:1322
+#: git-gui.sh:1521
 msgid "Unmodified"
 msgstr "Unverändert"
 
-#: git-gui.sh:1324
+#: git-gui.sh:1523
 msgid "Modified, not staged"
 msgstr "Verändert, nicht bereitgestellt"
 
-#: git-gui.sh:1325 git-gui.sh:1330
+#: git-gui.sh:1524 git-gui.sh:1529
 msgid "Staged for commit"
 msgstr "Bereitgestellt zum Eintragen"
 
-#: git-gui.sh:1326 git-gui.sh:1331
+#: git-gui.sh:1525 git-gui.sh:1530
 msgid "Portions staged for commit"
 msgstr "Teilweise bereitgestellt zum Eintragen"
 
-#: git-gui.sh:1327 git-gui.sh:1332
+#: git-gui.sh:1526 git-gui.sh:1531
 msgid "Staged for commit, missing"
 msgstr "Bereitgestellt zum Eintragen, fehlend"
 
-#: git-gui.sh:1329
+#: git-gui.sh:1528
 msgid "Untracked, not staged"
 msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt"
 
-#: git-gui.sh:1334
+#: git-gui.sh:1533
 msgid "Missing"
 msgstr "Fehlend"
 
-#: git-gui.sh:1335
+#: git-gui.sh:1534
 msgid "Staged for removal"
 msgstr "Bereitgestellt zum Löschen"
 
-#: git-gui.sh:1336
+#: git-gui.sh:1535
 msgid "Staged for removal, still present"
 msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden"
 
-#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341
+#: git-gui.sh:1537 git-gui.sh:1538 git-gui.sh:1539 git-gui.sh:1540
 msgid "Requires merge resolution"
 msgstr "Konfliktauflösung nötig"
 
-#: git-gui.sh:1383
+#: git-gui.sh:1575
 msgid "Starting gitk... please wait..."
 msgstr "Gitk wird gestartet... bitte warten."
 
-#: git-gui.sh:1392
+#: git-gui.sh:1584
 #, tcl-format
 msgid ""
 "Unable to start gitk:\n"
@@ -125,293 +143,319 @@ msgstr ""
 "\n"
 "%s existiert nicht"
 
-#: git-gui.sh:1609
-#, tcl-format
-msgid "Invalid font specified in gui.%s:"
-msgstr "Ungültige Zeichensatz-Angabe in gui.%s:"
-
-#: git-gui.sh:1634
-msgid "Main Font"
-msgstr "Programmschriftart"
-
-#: git-gui.sh:1635
-msgid "Diff/Console Font"
-msgstr "Vergleich-Schriftart"
-
-#: git-gui.sh:1649
+#: git-gui.sh:1784 lib/choose_repository.tcl:64
 msgid "Repository"
 msgstr "Projektarchiv"
 
-#: git-gui.sh:1650
+#: git-gui.sh:1785
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: git-gui.sh:1652
+#: git-gui.sh:1787 lib/choose_rev.tcl:560
 msgid "Branch"
 msgstr "Zweig"
 
-#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152
-msgid "Commit"
-msgstr "Eintragen"
+#: git-gui.sh:1790 lib/choose_rev.tcl:547
+msgid "Commit@@noun"
+msgstr "Version"
 
-#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
+#: git-gui.sh:1793 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
 msgid "Merge"
 msgstr "Zusammenführen"
 
-#: git-gui.sh:1659
+#: git-gui.sh:1794
 msgid "Fetch"
 msgstr "Anfordern"
 
-#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172
+#: git-gui.sh:1795 git-gui.sh:2294 lib/transport.tcl:93 lib/transport.tcl:182
 msgid "Push"
 msgstr "Ausliefern"
 
-#: git-gui.sh:1669
+#: git-gui.sh:1804
 msgid "Browse Current Branch's Files"
 msgstr "Aktuellen Zweig durchblättern"
 
-#: git-gui.sh:1673
+#: git-gui.sh:1808
 msgid "Browse Branch Files..."
 msgstr "Einen Zweig durchblättern..."
 
-#: git-gui.sh:1678
+#: git-gui.sh:1813
 msgid "Visualize Current Branch's History"
 msgstr "Aktuellen Zweig darstellen"
 
-#: git-gui.sh:1682
+#: git-gui.sh:1817
 msgid "Visualize All Branch History"
 msgstr "Alle Zweige darstellen"
 
-#: git-gui.sh:1689
+#: git-gui.sh:1824
 #, tcl-format
 msgid "Browse %s's Files"
 msgstr "Zweig »%s« durchblättern"
 
-#: git-gui.sh:1691
+#: git-gui.sh:1826
 #, tcl-format
 msgid "Visualize %s's History"
 msgstr "Historie von »%s« darstellen"
 
-#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67
+#: git-gui.sh:1831 lib/database.tcl:27 lib/database.tcl:67
 msgid "Database Statistics"
 msgstr "Datenbankstatistik"
 
-#: git-gui.sh:1699 lib/database.tcl:34
+#: git-gui.sh:1834 lib/database.tcl:34
 msgid "Compress Database"
 msgstr "Datenbank komprimieren"
 
-#: git-gui.sh:1702
+#: git-gui.sh:1837
 msgid "Verify Database"
 msgstr "Datenbank überprüfen"
 
-#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9
+#: git-gui.sh:1844 git-gui.sh:1848 git-gui.sh:1852 lib/shortcut.tcl:9
 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84
 msgid "Create Desktop Icon"
 msgstr "Desktop-Icon erstellen"
 
-#: git-gui.sh:1722
+#: git-gui.sh:1857 lib/choose_repository.tcl:68 lib/choose_repository.tcl:132
 msgid "Quit"
 msgstr "Beenden"
 
-#: git-gui.sh:1729
+#: git-gui.sh:1864
 msgid "Undo"
 msgstr "Rückgängig"
 
-#: git-gui.sh:1732
+#: git-gui.sh:1867
 msgid "Redo"
 msgstr "Wiederholen"
 
-#: git-gui.sh:1736 git-gui.sh:2222
+#: git-gui.sh:1871 git-gui.sh:2358
 msgid "Cut"
 msgstr "Ausschneiden"
 
-#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368
-#: lib/console.tcl:69
+#: git-gui.sh:1874 git-gui.sh:2361 git-gui.sh:2432 git-gui.sh:2504
+#: lib/console.tcl:67
 msgid "Copy"
 msgstr "Kopieren"
 
-#: git-gui.sh:1742 git-gui.sh:2228
+#: git-gui.sh:1877 git-gui.sh:2364
 msgid "Paste"
 msgstr "Einfügen"
 
-#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26
+#: git-gui.sh:1880 git-gui.sh:2367 lib/branch_delete.tcl:26
 #: lib/remote_branch_delete.tcl:38
 msgid "Delete"
 msgstr "Löschen"
 
-#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71
+#: git-gui.sh:1884 git-gui.sh:2371 git-gui.sh:2508 lib/console.tcl:69
 msgid "Select All"
 msgstr "Alle auswählen"
 
-#: git-gui.sh:1758
+#: git-gui.sh:1893
 msgid "Create..."
 msgstr "Erstellen..."
 
-#: git-gui.sh:1764
+#: git-gui.sh:1899
 msgid "Checkout..."
-msgstr "Arbeitskopie erstellen..."
+msgstr "Umstellen..."
 
-#: git-gui.sh:1770
+#: git-gui.sh:1905
 msgid "Rename..."
 msgstr "Umbenennen..."
 
-#: git-gui.sh:1775 git-gui.sh:1873
+#: git-gui.sh:1910 git-gui.sh:2008
 msgid "Delete..."
 msgstr "Löschen..."
 
-#: git-gui.sh:1780
+#: git-gui.sh:1915
 msgid "Reset..."
 msgstr "Zurücksetzen..."
 
-#: git-gui.sh:1792 git-gui.sh:2169
+#: git-gui.sh:1927 git-gui.sh:2305
 msgid "New Commit"
 msgstr "Neue Version"
 
-#: git-gui.sh:1800 git-gui.sh:2176
+#: git-gui.sh:1935 git-gui.sh:2312
 msgid "Amend Last Commit"
 msgstr "Letzte Version nachbessern"
 
-#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99
+#: git-gui.sh:1944 git-gui.sh:2272 lib/remote_branch_delete.tcl:99
 msgid "Rescan"
 msgstr "Neu laden"
 
-#: git-gui.sh:1815
+#: git-gui.sh:1950
 msgid "Stage To Commit"
 msgstr "Zum Eintragen bereitstellen"
 
-#: git-gui.sh:1820
+#: git-gui.sh:1955
 msgid "Stage Changed Files To Commit"
 msgstr "Geänderte Dateien zum Eintragen bereitstellen"
 
-#: git-gui.sh:1826
+#: git-gui.sh:1961
 msgid "Unstage From Commit"
 msgstr "Aus der Bereitstellung herausnehmen"
 
-#: git-gui.sh:1831 lib/index.tcl:376
+#: git-gui.sh:1966 lib/index.tcl:382
 msgid "Revert Changes"
 msgstr "Änderungen revidieren"
 
-#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246
+#: git-gui.sh:1973 git-gui.sh:2284 git-gui.sh:2382
 msgid "Sign Off"
 msgstr "Abzeichnen"
 
-#: git-gui.sh:1853
+#: git-gui.sh:1977 git-gui.sh:2288
+msgid "Commit@@verb"
+msgstr "Eintragen"
+
+#: git-gui.sh:1988
 msgid "Local Merge..."
 msgstr "Lokales Zusammenführen..."
 
-#: git-gui.sh:1858
+#: git-gui.sh:1993
 msgid "Abort Merge..."
 msgstr "Zusammenführen abbrechen..."
 
-#: git-gui.sh:1870
+#: git-gui.sh:2005
 msgid "Push..."
 msgstr "Ausliefern..."
 
-#: git-gui.sh:1880
+#: git-gui.sh:2015 lib/choose_repository.tcl:73
 msgid "Apple"
 msgstr "Apple"
 
-#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65
+#: git-gui.sh:2018 git-gui.sh:2036 lib/choose_repository.tcl:76
+#: lib/choose_repository.tcl:82 lib/option.tcl:65
 #, tcl-format
 msgid "About %s"
 msgstr "Über %s"
 
-#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414
+#: git-gui.sh:2020 git-gui.sh:2026 git-gui.sh:2550
 msgid "Options..."
 msgstr "Optionen..."
 
-#: git-gui.sh:1897
+#: git-gui.sh:2032 lib/choose_repository.tcl:79
 msgid "Help"
 msgstr "Hilfe"
 
-#: git-gui.sh:1938
+#: git-gui.sh:2073
 msgid "Online Documentation"
 msgstr "Online-Dokumentation"
 
-#: git-gui.sh:2054
+#: git-gui.sh:2157
+#, tcl-format
+msgid "fatal: cannot stat path %s: No such file or directory"
+msgstr ""
+
+#: git-gui.sh:2190
 msgid "Current Branch:"
 msgstr "Aktueller Zweig:"
 
-#: git-gui.sh:2075
+#: git-gui.sh:2211
 msgid "Staged Changes (Will Be Committed)"
 msgstr "Bereitgestellte Änderungen (werden eingetragen)"
 
-#: git-gui.sh:2095
+#: git-gui.sh:2231
 msgid "Unstaged Changes (Will Not Be Committed)"
 msgstr "Nicht bereitgestellte Änderungen (werden nicht eingetragen)"
 
-#: git-gui.sh:2142
+#: git-gui.sh:2278
 msgid "Stage Changed"
 msgstr "Geänderte bereitstellen"
 
-#: git-gui.sh:2188
+#: git-gui.sh:2324
 msgid "Initial Commit Message:"
 msgstr "Beschreibung der ersten Version:"
 
-#: git-gui.sh:2189
+#: git-gui.sh:2325
 msgid "Amended Commit Message:"
 msgstr "Beschreibung der nachgebesserten Version:"
 
-#: git-gui.sh:2190
+#: git-gui.sh:2326
 msgid "Amended Initial Commit Message:"
 msgstr "Beschreibung der nachgebesserten ersten Version:"
 
-#: git-gui.sh:2191
+#: git-gui.sh:2327
 msgid "Amended Merge Commit Message:"
 msgstr "Beschreibung der nachgebesserten Zusammenführungs-Version:"
 
-#: git-gui.sh:2192
+#: git-gui.sh:2328
 msgid "Merge Commit Message:"
 msgstr "Beschreibung der Zusammenführungs-Version:"
 
-#: git-gui.sh:2193
+#: git-gui.sh:2329
 msgid "Commit Message:"
 msgstr "Versionsbeschreibung:"
 
-#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73
+#: git-gui.sh:2374 git-gui.sh:2512 lib/console.tcl:71
 msgid "Copy All"
 msgstr "Alle kopieren"
 
-#: git-gui.sh:2262 lib/blame.tcl:104
+#: git-gui.sh:2398 lib/blame.tcl:104
 msgid "File:"
 msgstr "Datei:"
 
-#: git-gui.sh:2364
+#: git-gui.sh:2500
 msgid "Refresh"
 msgstr "Aktualisieren"
 
-#: git-gui.sh:2385
+#: git-gui.sh:2521
 msgid "Apply/Reverse Hunk"
 msgstr "Änderung anwenden/umkehren"
 
-#: git-gui.sh:2391
+#: git-gui.sh:2527
 msgid "Decrease Font Size"
 msgstr "Schriftgröße verkleinern"
 
-#: git-gui.sh:2395
+#: git-gui.sh:2531
 msgid "Increase Font Size"
 msgstr "Schriftgröße vergrößern"
 
-#: git-gui.sh:2400
+#: git-gui.sh:2536
 msgid "Show Less Context"
 msgstr "Weniger Kontext anzeigen"
 
-#: git-gui.sh:2407
+#: git-gui.sh:2543
 msgid "Show More Context"
 msgstr "Mehr Kontext anzeigen"
 
-#: git-gui.sh:2422
+#: git-gui.sh:2557
 msgid "Unstage Hunk From Commit"
 msgstr "Aus der Bereitstellung herausnehmen"
 
-#: git-gui.sh:2426 git-gui.sh:2430
+#: git-gui.sh:2559
 msgid "Stage Hunk For Commit"
 msgstr "In die Bereitstellung hinzufügen"
 
-#: git-gui.sh:2440
+#: git-gui.sh:2578
 msgid "Initializing..."
 msgstr "Initialisieren..."
 
+#: git-gui.sh:2669
+#, tcl-format
+msgid ""
+"Possible environment issues exist.\n"
+"\n"
+"The following environment variables are probably\n"
+"going to be ignored by any Git subprocess run\n"
+"by %s:\n"
+"\n"
+msgstr ""
+
+#: git-gui.sh:2699
+msgid ""
+"\n"
+"This is due to a known issue with the\n"
+"Tcl binary distributed by Cygwin."
+msgstr ""
+
+#: git-gui.sh:2704
+#, tcl-format
+msgid ""
+"\n"
+"\n"
+"A good replacement for %s\n"
+"is placing values for the user.name and\n"
+"user.email settings into your personal\n"
+"~/.gitconfig file.\n"
+msgstr ""
+
 #: lib/blame.tcl:77
 msgid "File Viewer"
 msgstr "Datei-Browser"
@@ -429,6 +473,50 @@ msgstr "Version kopieren"
 msgid "Reading %s..."
 msgstr "%s lesen..."
 
+#: lib/blame.tcl:473
+msgid "Loading copy/move tracking annotations..."
+msgstr ""
+
+#: lib/blame.tcl:493
+msgid "lines annotated"
+msgstr ""
+
+#: lib/blame.tcl:674
+msgid "Loading original location annotations..."
+msgstr ""
+
+#: lib/blame.tcl:677
+msgid "Annotation complete."
+msgstr ""
+
+#: lib/blame.tcl:731
+msgid "Loading annotation..."
+msgstr "Annotierung laden..."
+
+#: lib/blame.tcl:787
+msgid "Author:"
+msgstr "Autor:"
+
+#: lib/blame.tcl:791
+msgid "Committer:"
+msgstr "Eintragender:"
+
+#: lib/blame.tcl:796
+msgid "Original File:"
+msgstr ""
+
+#: lib/blame.tcl:910
+msgid "Originally By:"
+msgstr ""
+
+#: lib/blame.tcl:916
+msgid "In File:"
+msgstr "In Datei:"
+
+#: lib/blame.tcl:921
+msgid "Copied Or Moved Here By:"
+msgstr ""
+
 #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19
 msgid "Checkout Branch"
 msgstr "Zweig umstellen"
@@ -438,18 +526,18 @@ msgid "Checkout"
 msgstr "Umstellen"
 
 #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35
-#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283
-#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172
-#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92
+#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281
+#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172
+#: lib/option.tcl:172 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: lib/branch_checkout.tcl:32 lib/browser.tcl:288
+#: lib/branch_checkout.tcl:32 lib/browser.tcl:286
 msgid "Revision"
 msgstr "Version"
 
 #: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159
-#: lib/option.tcl:274
+#: lib/option.tcl:280
 msgid "Options"
 msgstr "Optionen"
 
@@ -469,7 +557,7 @@ msgstr "Zweig erstellen"
 msgid "Create New Branch"
 msgstr "Neuen Zweig erstellen"
 
-#: lib/branch_create.tcl:31
+#: lib/branch_create.tcl:31 lib/choose_repository.tcl:236
 msgid "Create"
 msgstr "Erstellen"
 
@@ -609,20 +697,22 @@ msgstr "Starten..."
 msgid "File Browser"
 msgstr "Datei-Browser"
 
-#: lib/browser.tcl:127 lib/browser.tcl:144
+#: lib/browser.tcl:125 lib/browser.tcl:142
 #, tcl-format
 msgid "Loading %s..."
 msgstr "%s laden..."
 
-#: lib/browser.tcl:188
+#: lib/browser.tcl:186
 msgid "[Up To Parent]"
 msgstr "[Nach oben]"
 
-#: lib/browser.tcl:268 lib/browser.tcl:274
+#: lib/browser.tcl:266 lib/browser.tcl:272
 msgid "Browse Branch Files"
 msgstr "Dateien des Zweigs durchblättern"
 
-#: lib/browser.tcl:279
+#: lib/browser.tcl:277 lib/choose_repository.tcl:252
+#: lib/choose_repository.tcl:342 lib/choose_repository.tcl:352
+#: lib/choose_repository.tcl:848
 msgid "Browse"
 msgstr "Blättern"
 
@@ -631,7 +721,12 @@ msgstr "Blättern"
 msgid "Fetching %s from %s"
 msgstr "Änderungen »%s« von »%s« anfordern"
 
-#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31
+#: lib/checkout_op.tcl:127
+#, tcl-format
+msgid "fatal: Cannot resolve %s"
+msgstr ""
+
+#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31
 msgid "Close"
 msgstr "Schließen"
 
@@ -683,10 +778,17 @@ msgstr ""
 "\n"
 "Es wird gleich neu geladen.\n"
 
+#: lib/checkout_op.tcl:322
+#, tcl-format
+msgid "Updating working directory to '%s'..."
+msgstr "Arbeitskopie umstellen auf »%s«..."
+
 #: lib/checkout_op.tcl:353
 #, tcl-format
 msgid "Aborted checkout of '%s' (file level merging is required)."
-msgstr "Zweig umstellen von »%s« abgebrochen (Zusammenführen der Dateien ist notwendig)."
+msgstr ""
+"Zweig umstellen von »%s« abgebrochen (Zusammenführen der Dateien ist "
+"notwendig)."
 
 #: lib/checkout_op.tcl:354
 msgid "File level merge required."
@@ -706,7 +808,13 @@ msgid ""
 msgstr ""
 "Die Arbeitskopie ist nicht auf einem lokalen Zweig.\n"
 "\n"
-"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«."
+"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen "
+"Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«."
+
+#: lib/checkout_op.tcl:446
+#, tcl-format
+msgid "Checked out '%s'."
+msgstr "Umgestellt auf »%s«."
 
 #: lib/checkout_op.tcl:478
 #, tcl-format
@@ -746,6 +854,236 @@ msgstr ""
 "\n"
 "Dies ist ein interner Programmfehler von %s. Programm wird jetzt abgebrochen."
 
+#: lib/choose_font.tcl:39
+msgid "Select"
+msgstr "Auswählen"
+
+#: lib/choose_font.tcl:53
+msgid "Font Family"
+msgstr "Schriftfamilie"
+
+#: lib/choose_font.tcl:73
+msgid "Font Size"
+msgstr "Schriftgröße"
+
+#: lib/choose_font.tcl:90
+msgid "Font Example"
+msgstr "Schriftbeispiel"
+
+#: lib/choose_font.tcl:101
+msgid ""
+"This is example text.\n"
+"If you like this text, it can be your font."
+msgstr ""
+"Dies ist ein Beispieltext.\n"
+"Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen."
+
+#: lib/choose_repository.tcl:57
+msgid "Git Gui"
+msgstr "Git Gui"
+
+#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:241
+msgid "Create New Repository"
+msgstr "Neues Projektarchiv"
+
+#: lib/choose_repository.tcl:111 lib/choose_repository.tcl:328
+msgid "Clone Existing Repository"
+msgstr "Projektarchiv kopieren"
+
+#: lib/choose_repository.tcl:116 lib/choose_repository.tcl:837
+msgid "Open Existing Repository"
+msgstr "Projektarchiv öffnen"
+
+#: lib/choose_repository.tcl:128
+msgid "Next >"
+msgstr "Weiter >"
+
+#: lib/choose_repository.tcl:189
+#, tcl-format
+msgid "Location %s already exists."
+msgstr "Projektarchiv »%s« existiert bereits."
+
+#: lib/choose_repository.tcl:195 lib/choose_repository.tcl:202
+#: lib/choose_repository.tcl:209
+#, tcl-format
+msgid "Failed to create repository %s:"
+msgstr "Projektarchiv »%s« konnte nicht erstellt werden:"
+
+#: lib/choose_repository.tcl:246 lib/choose_repository.tcl:346
+msgid "Directory:"
+msgstr "Verzeichnis:"
+
+#: lib/choose_repository.tcl:275 lib/choose_repository.tcl:400
+#: lib/choose_repository.tcl:871
+msgid "Git Repository"
+msgstr "Git Projektarchiv"
+
+#: lib/choose_repository.tcl:290 lib/choose_repository.tcl:297
+#, tcl-format
+msgid "Directory %s already exists."
+msgstr "Verzeichnis »%s« existiert bereits."
+
+#: lib/choose_repository.tcl:302
+#, tcl-format
+msgid "File %s already exists."
+msgstr "Datei »%s« existiert bereits."
+
+#: lib/choose_repository.tcl:323
+msgid "Clone"
+msgstr "Kopieren"
+
+#: lib/choose_repository.tcl:336
+msgid "URL:"
+msgstr "URL:"
+
+#: lib/choose_repository.tcl:356
+msgid "Clone Type:"
+msgstr "Art der Kopie:"
+
+#: lib/choose_repository.tcl:362
+msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
+msgstr ""
+
+#: lib/choose_repository.tcl:368
+msgid "Full Copy (Slower, Redundant Backup)"
+msgstr ""
+
+#: lib/choose_repository.tcl:374
+msgid "Shared (Fastest, Not Recommended, No Backup)"
+msgstr ""
+
+#: lib/choose_repository.tcl:406 lib/choose_repository.tcl:455
+#: lib/choose_repository.tcl:597 lib/choose_repository.tcl:667
+#: lib/choose_repository.tcl:877 lib/choose_repository.tcl:885
+#, tcl-format
+msgid "Not a Git repository: %s"
+msgstr "Kein Git-Projektarchiv in »%s« gefunden."
+
+#: lib/choose_repository.tcl:442
+msgid "Standard only available for local repository."
+msgstr ""
+
+#: lib/choose_repository.tcl:446
+msgid "Shared only available for local repository."
+msgstr ""
+
+#: lib/choose_repository.tcl:476
+msgid "Failed to configure origin"
+msgstr ""
+
+#: lib/choose_repository.tcl:488
+msgid "Counting objects"
+msgstr ""
+
+#: lib/choose_repository.tcl:489
+msgid "buckets"
+msgstr ""
+
+#: lib/choose_repository.tcl:513
+#, tcl-format
+msgid "Unable to copy objects/info/alternates: %s"
+msgstr ""
+
+#: lib/choose_repository.tcl:549
+#, tcl-format
+msgid "Nothing to clone from %s."
+msgstr "Von »%s« konnte nichts kopiert werden."
+
+#: lib/choose_repository.tcl:551 lib/choose_repository.tcl:765
+#: lib/choose_repository.tcl:777
+msgid "The 'master' branch has not been initialized."
+msgstr ""
+
+#: lib/choose_repository.tcl:564
+msgid "Hardlinks are unavailable.  Falling back to copying."
+msgstr ""
+
+#: lib/choose_repository.tcl:576
+#, tcl-format
+msgid "Cloning from %s"
+msgstr "Kopieren von »%s«"
+
+#: lib/choose_repository.tcl:607
+msgid "Copying objects"
+msgstr "Objektdatenbank kopieren"
+
+#: lib/choose_repository.tcl:608
+msgid "KiB"
+msgstr "KB"
+
+#: lib/choose_repository.tcl:632
+#, tcl-format
+msgid "Unable to copy object: %s"
+msgstr "Objekt kann nicht kopiert werden: %s"
+
+#: lib/choose_repository.tcl:642
+msgid "Linking objects"
+msgstr "Objekte verlinken"
+
+#: lib/choose_repository.tcl:643
+msgid "objects"
+msgstr "Objekte"
+
+#: lib/choose_repository.tcl:651
+#, tcl-format
+msgid "Unable to hardlink object: %s"
+msgstr "Objekt kann nicht hartverlinkt werden: %s"
+
+#: lib/choose_repository.tcl:706
+msgid "Cannot fetch branches and objects.  See console output for details."
+msgstr ""
+
+#: lib/choose_repository.tcl:717
+msgid "Cannot fetch tags.  See console output for details."
+msgstr ""
+
+#: lib/choose_repository.tcl:741
+msgid "Cannot determine HEAD.  See console output for details."
+msgstr ""
+
+#: lib/choose_repository.tcl:750
+#, tcl-format
+msgid "Unable to cleanup %s"
+msgstr ""
+
+#: lib/choose_repository.tcl:756
+msgid "Clone failed."
+msgstr "Kopieren fehlgeschlagen."
+
+#: lib/choose_repository.tcl:763
+msgid "No default branch obtained."
+msgstr ""
+
+#: lib/choose_repository.tcl:774
+#, tcl-format
+msgid "Cannot resolve %s as a commit."
+msgstr ""
+
+#: lib/choose_repository.tcl:786
+msgid "Creating working directory"
+msgstr "Arbeitskopie erstellen"
+
+#: lib/choose_repository.tcl:787
+msgid "files"
+msgstr "Dateien"
+
+#: lib/choose_repository.tcl:816
+msgid "Initial file checkout failed."
+msgstr ""
+
+#: lib/choose_repository.tcl:832
+msgid "Open"
+msgstr "Öffnen"
+
+#: lib/choose_repository.tcl:842
+msgid "Repository:"
+msgstr "Projektarchiv:"
+
+#: lib/choose_repository.tcl:891
+#, tcl-format
+msgid "Failed to open repository %s:"
+msgstr "Projektarchiv »%s« konnte nicht geöffnet werden."
+
 #: lib/choose_rev.tcl:53
 msgid "This Detached Checkout"
 msgstr "Abgetrennte Arbeitskopie-Version"
@@ -762,7 +1100,7 @@ msgstr "Lokaler Zweig"
 msgid "Tracking Branch"
 msgstr "Übernahmezweig"
 
-#: lib/choose_rev.tcl:84
+#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537
 msgid "Tag"
 msgstr "Markierung"
 
@@ -779,6 +1117,18 @@ msgstr "Keine Version ausgewählt."
 msgid "Revision expression is empty."
 msgstr "Versions-Ausdruck ist leer."
 
+#: lib/choose_rev.tcl:530
+msgid "Updated"
+msgstr "Aktualisiert"
+
+#: lib/choose_rev.tcl:556
+msgid "Remote"
+msgstr "Gegenseite"
+
+#: lib/choose_rev.tcl:558
+msgid "URL"
+msgstr "URL"
+
 #: lib/commit.tcl:9
 msgid ""
 "There is nothing to amend.\n"
@@ -829,7 +1179,8 @@ msgid ""
 msgstr ""
 "Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n"
 "\n"
-"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden geändert.  Vor dem Eintragen einer neuen Version muss neu geladen werden.\n"
+"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden "
+"geändert.  Vor dem Eintragen einer neuen Version muss neu geladen werden.\n"
 "\n"
 "Es wird gleich neu geladen.\n"
 
@@ -843,7 +1194,8 @@ msgid ""
 msgstr ""
 "Nicht zusammengeführte Dateien können nicht eingetragen werden.\n"
 "\n"
-"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie müssen diese Konflikte auflösen, bevor Sie eintragen können.\n"
+"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie "
+"müssen diese Konflikte auflösen, bevor Sie eintragen können.\n"
 
 #: lib/commit.tcl:162
 #, tcl-format
@@ -890,6 +1242,11 @@ msgstr ""
 msgid "write-tree failed:"
 msgstr "write-tree fehlgeschlagen:"
 
+#: lib/commit.tcl:275
+#, tcl-format
+msgid "Commit %s appears to be corrupt"
+msgstr "Version »%s« scheint beschädigt zu sein"
+
 #: lib/commit.tcl:279
 msgid ""
 "No changes to commit.\n"
@@ -900,7 +1257,8 @@ msgid ""
 msgstr ""
 "Keine Änderungen einzutragen.\n"
 "\n"
-"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts zusammengeführt.\n"
+"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts "
+"zusammengeführt.\n"
 "\n"
 "Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n"
 
@@ -908,6 +1266,11 @@ msgstr ""
 msgid "No changes to commit."
 msgstr "Keine Änderungen, die eingetragen werden können."
 
+#: lib/commit.tcl:303
+#, tcl-format
+msgid "warning: Tcl does not support encoding '%s'."
+msgstr ""
+
 #: lib/commit.tcl:317
 msgid "commit-tree failed:"
 msgstr "commit-tree fehlgeschlagen:"
@@ -921,15 +1284,15 @@ msgstr "update-ref fehlgeschlagen:"
 msgid "Created commit %s: %s"
 msgstr "Version %s übertragen: %s"
 
-#: lib/console.tcl:55
+#: lib/console.tcl:57
 msgid "Working... please wait..."
 msgstr "Verarbeitung. Bitte warten..."
 
-#: lib/console.tcl:184
+#: lib/console.tcl:183
 msgid "Success"
 msgstr "Erfolgreich"
 
-#: lib/console.tcl:194
+#: lib/console.tcl:196
 msgid "Error: Command Failed"
 msgstr "Fehler: Kommando fehlgeschlagen"
 
@@ -969,6 +1332,27 @@ msgstr "Objektdatenbank komprimieren"
 msgid "Verifying the object database with fsck-objects"
 msgstr "Die Objektdatenbank durch »fsck-objects« überprüfen lassen"
 
+#: lib/database.tcl:108
+#, tcl-format
+msgid ""
+"This repository currently has approximately %i loose objects.\n"
+"\n"
+"To maintain optimal performance it is strongly recommended that you compress "
+"the database when more than %i loose objects exist.\n"
+"\n"
+"Compress the database now?"
+msgstr ""
+"Dieses Projektarchiv enthält ungefähr %i nicht verknüpfte Objekte.\n"
+"\n"
+"Für eine optimale Performance wird empfohlen, die Datenbank des Projektarchivs zu komprimieren, sobald mehr als %i nicht verknüpfte Objekte vorliegen.\n"
+"\n"
+"Soll die Datenbank jetzt komprimiert werden?"
+
+#: lib/date.tcl:25
+#, tcl-format
+msgid "Invalid date from Git: %s"
+msgstr "Ungültiges Datum von Git: %s"
+
 #: lib/diff.tcl:42
 #, tcl-format
 msgid ""
@@ -991,19 +1375,37 @@ msgstr ""
 "Das Arbeitsverzeichnis wird jetzt neu geladen, um diese Änderung bei allen "
 "Dateien zu prüfen."
 
-#: lib/diff.tcl:97
+#: lib/diff.tcl:81
+#, tcl-format
+msgid "Loading diff of %s..."
+msgstr "Vergleich von »%s« laden..."
+
+#: lib/diff.tcl:114 lib/diff.tcl:184
+#, tcl-format
+msgid "Unable to display %s"
+msgstr "Datei »%s« kann nicht angezeigt werden"
+
+#: lib/diff.tcl:115
 msgid "Error loading file:"
 msgstr "Fehler beim Laden der Datei:"
 
-#: lib/diff.tcl:162
+#: lib/diff.tcl:122
+msgid "Git Repository (subproject)"
+msgstr "Git-Projektarchiv (Unterprojekt)"
+
+#: lib/diff.tcl:134
+msgid "* Binary file (not showing content)."
+msgstr "* Binärdatei (Inhalt wird nicht angezeigt)"
+
+#: lib/diff.tcl:185
 msgid "Error loading diff:"
 msgstr "Fehler beim Laden des Vergleichs:"
 
-#: lib/diff.tcl:278
+#: lib/diff.tcl:302
 msgid "Failed to unstage selected hunk."
 msgstr "Fehler beim Herausnehmen der gewählten Dateien aus der Bereitstellung."
 
-#: lib/diff.tcl:285
+#: lib/diff.tcl:309
 msgid "Failed to stage selected hunk."
 msgstr "Fehler beim Bereitstellen der gewählten Dateien."
 
@@ -1017,24 +1419,35 @@ msgstr "Warnung"
 
 #: lib/error.tcl:81
 msgid "You must correct the above errors before committing."
-msgstr "Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können."
+msgstr ""
+"Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können."
 
-#: lib/index.tcl:364
+#: lib/index.tcl:271
+#, tcl-format
+msgid "Unstaging %s from commit"
+msgstr "Datei »%s« aus der Bereitstellung herausnehmen"
+
+#: lib/index.tcl:315
+#, tcl-format
+msgid "Adding %s"
+msgstr "»%s« hinzufügen..."
+
+#: lib/index.tcl:370
 #, tcl-format
 msgid "Revert changes in file %s?"
 msgstr "Änderungen in Datei »%s« revidieren?"
 
-#: lib/index.tcl:366
+#: lib/index.tcl:372
 #, tcl-format
 msgid "Revert changes in these %i files?"
 msgstr "Änderungen in den gewählten %i Dateien revidieren?"
 
-#: lib/index.tcl:372
+#: lib/index.tcl:378
 msgid "Any unstaged changes will be permanently lost by the revert."
 msgstr ""
 "Alle nicht bereitgestellten Änderungen werden beim Revidieren verloren gehen."
 
-#: lib/index.tcl:375
+#: lib/index.tcl:381
 msgid "Do Nothing"
 msgstr "Nichts tun"
 
@@ -1046,7 +1459,8 @@ msgid ""
 msgstr ""
 "Zusammenführen kann nicht gleichzeitig mit Nachbessern durchgeführt werden.\n"
 "\n"
-"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie zusammenführen können.\n"
+"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie "
+"zusammenführen können.\n"
 
 #: lib/merge.tcl:27
 msgid ""
@@ -1076,7 +1490,10 @@ msgid ""
 msgstr ""
 "Zusammenführung mit Konflikten.\n"
 "\n"
-"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst danach kann eine neue Zusammenführung begonnen werden.\n"
+"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese "
+"Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder "
+"bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst "
+"danach kann eine neue Zusammenführung begonnen werden.\n"
 
 #: lib/merge.tcl:54
 #, tcl-format
@@ -1090,7 +1507,10 @@ msgid ""
 msgstr ""
 "Es liegen Änderungen vor.\n"
 "\n"
-"Die Datei »%s« wurde geändert.  Sie sollten zuerst die bereitgestellte Version abschließen, bevor Sie eine Zusammenführung beginnen.  Mit dieser Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich einfacher beheben oder abbrechen.\n"
+"Die Datei »%s« wurde geändert.  Sie sollten zuerst die bereitgestellte "
+"Version abschließen, bevor Sie eine Zusammenführung beginnen.  Mit dieser "
+"Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich "
+"einfacher beheben oder abbrechen.\n"
 
 #: lib/merge.tcl:106
 #, tcl-format
@@ -1139,7 +1559,8 @@ msgid ""
 msgstr ""
 "Zusammenführen abbrechen?\n"
 "\n"
-"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen verloren.\n"
+"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen "
+"verloren.\n"
 "\n"
 "Zusammenführen jetzt abbrechen?"
 
@@ -1153,7 +1574,8 @@ msgid ""
 msgstr ""
 "Änderungen zurücksetzen?\n"
 "\n"
-"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen verloren.\n"
+"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen "
+"verloren.\n"
 "\n"
 "Änderungen jetzt zurücksetzen?"
 
@@ -1230,7 +1652,20 @@ msgstr "Anzahl der Kontextzeilen beim Vergleich"
 msgid "New Branch Name Template"
 msgstr "Namensvorschlag für neue Zweige"
 
-#: lib/option.tcl:305
+#: lib/option.tcl:258
+msgid "Change Font"
+msgstr "Schriftart ändern"
+
+#: lib/option.tcl:262
+#, tcl-format
+msgid "Choose %s"
+msgstr "%s wählen"
+
+#: lib/option.tcl:268
+msgid "pt."
+msgstr "pt."
+
+#: lib/option.tcl:311
 msgid "Failed to completely save options:"
 msgstr "Optionen konnten nicht gespeichert werden:"
 
@@ -1242,11 +1677,11 @@ msgstr "Zweig im Projektarchiv der Gegenseite löschen"
 msgid "From Repository"
 msgstr "Von Projektarchiv"
 
-#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118
+#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123
 msgid "Remote:"
 msgstr "Gegenseite:"
 
-#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133
+#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138
 msgid "Arbitrary URL:"
 msgstr "Kommunikation mit URL:"
 
@@ -1270,12 +1705,26 @@ msgstr "Immer (Keine Zusammenführungsprüfung)"
 msgid "A branch is required for 'Merged Into'."
 msgstr "Für »Zusammenführen mit« muss ein Zweig angegeben werden."
 
+#: lib/remote_branch_delete.tcl:184
+#, tcl-format
+msgid ""
+"The following branches are not completely merged into %s:\n"
+"\n"
+" - %s"
+msgstr ""
+"Folgende Zweige sind noch nicht mit »%s« zusammengeführt:\n"
+"\n"
+" - %s"
+
 #: lib/remote_branch_delete.tcl:189
 #, tcl-format
 msgid ""
 "One or more of the merge tests failed because you have not fetched the "
 "necessary commits.  Try fetching from %s first."
-msgstr "Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die notwendigen Versionen vorher angefordert haben.  Sie sollten versuchen, zuerst von »%s« anzufordern."
+msgstr ""
+"Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die "
+"notwendigen Versionen vorher angefordert haben.  Sie sollten versuchen, "
+"zuerst von »%s« anzufordern."
 
 #: lib/remote_branch_delete.tcl:207
 msgid "Please select one or more branches to delete."
@@ -1304,22 +1753,22 @@ msgstr "Kein Projektarchiv ausgewählt."
 #: lib/remote_branch_delete.tcl:291
 #, tcl-format
 msgid "Scanning %s..."
-msgstr "%s laden..."
+msgstr "»%s« laden..."
 
 #: lib/remote.tcl:162
 #, tcl-format
-msgid "Fetch from %s..."
-msgstr "Von »%s« anfordern..."
+msgid "Fetch from %s"
+msgstr "Von »%s« anfordern"
 
 #: lib/remote.tcl:172
 #, tcl-format
-msgid "Prune from %s..."
-msgstr "Löschen von »%s«..."
+msgid "Prune from %s"
+msgstr "Löschen von »%s«"
 
 #: lib/remote.tcl:206
 #, tcl-format
-msgid "Push to %s..."
-msgstr "Nach %s ausliefern..."
+msgid "Push to %s"
+msgstr "Nach »%s« ausliefern"
 
 #: lib/shortcut.tcl:26 lib/shortcut.tcl:74
 msgid "Cannot write script:"
@@ -1329,51 +1778,70 @@ msgstr "Fehler beim Schreiben des Scripts:"
 msgid "Cannot write icon:"
 msgstr "Fehler beim Erstellen des Icons:"
 
-#: lib/status_bar.tcl:58
+#: lib/status_bar.tcl:83
 #, tcl-format
 msgid "%s ... %*i of %*i %s (%3i%%)"
 msgstr "%s ... %*i von %*i %s (%3i%%)"
 
+#: lib/transport.tcl:6
+#, tcl-format
+msgid "fetch %s"
+msgstr "»%s« anfordern"
+
 #: lib/transport.tcl:7
 #, tcl-format
 msgid "Fetching new changes from %s"
 msgstr "Neue Änderungen von »%s« holen"
 
+#: lib/transport.tcl:18
+#, tcl-format
+msgid "remote prune %s"
+msgstr ""
+
 #: lib/transport.tcl:19
 #, tcl-format
 msgid "Pruning tracking branches deleted from %s"
 msgstr "Übernahmezweige löschen, die in »%s« gelöscht wurden"
 
+#: lib/transport.tcl:25 lib/transport.tcl:71
+#, tcl-format
+msgid "push %s"
+msgstr "»%s« ausliefern..."
+
 #: lib/transport.tcl:26
 #, tcl-format
 msgid "Pushing changes to %s"
-msgstr "Änderungen nach %s ausliefern"
+msgstr "Änderungen nach »%s« ausliefern"
 
-#: lib/transport.tcl:68
+#: lib/transport.tcl:72
 #, tcl-format
 msgid "Pushing %s %s to %s"
 msgstr "%s %s nach %s ausliefern"
 
-#: lib/transport.tcl:84
+#: lib/transport.tcl:89
 msgid "Push Branches"
 msgstr "Zweige ausliefern"
 
-#: lib/transport.tcl:98
+#: lib/transport.tcl:103
 msgid "Source Branches"
 msgstr "Herkunftszweige"
 
-#: lib/transport.tcl:115
+#: lib/transport.tcl:120
 msgid "Destination Repository"
 msgstr "Ziel-Projektarchiv"
 
-#: lib/transport.tcl:153
+#: lib/transport.tcl:158
 msgid "Transfer Options"
 msgstr "Netzwerk-Einstellungen"
 
-#: lib/transport.tcl:155
+#: lib/transport.tcl:160
+msgid "Force overwrite existing branch (may discard changes)"
+msgstr "Überschreiben von existierenden Zweigen erzwingen (könnte Änderungen löschen)"
+
+#: lib/transport.tcl:164
 msgid "Use thin pack (for slow network connections)"
 msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)"
 
-#: lib/transport.tcl:159
+#: lib/transport.tcl:168
 msgid "Include tags"
 msgstr "Mit Markierungen übertragen"
-- 
1.5.3.rc2.6.g40240

^ permalink raw reply related

* strbuf `filter' API
From: Pierre Habouzit @ 2007-10-05 20:19 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: git

  Ooookay,

  I wasn't more thrilled about the previous patch than linus is. Here is
a possible API to hide the muck in the strbuf.c module, and have a way
nicer to read code in convert.c.

  It remais as efficient as the previous code, tries to reuse the buffer
as much as possible to avoid reallocations, and deal with even more
cases (it's possible to have the "source" buffer be inside the
destination strbuf now, which could sometimes help a lot).

  I based this on top of master (because it's where my previous patch
was) but it should apply on next properly. It depends upon the previous
patch though.

  I'd say that the previous patch should go in master ASAP, and that
those two could be considered for next (having merged master in it first
btw).

Cheers,
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

^ permalink raw reply

* Re: Many gits are offline this week
From: Pierre Habouzit @ 2007-10-05 20:26 UTC (permalink / raw)
  To: Frank Lichtenheld; +Cc: Shawn O. Pearce, git
In-Reply-To: <20071005151355.GO31659@planck.djpig.de>

[-- Attachment #1: Type: text/plain, Size: 976 bytes --]

On Fri, Oct 05, 2007 at 03:13:55PM +0000, Frank Lichtenheld wrote:
> On Thu, Oct 04, 2007 at 09:04:48PM -0400, Shawn O. Pearce wrote:
> > With three gits offline for at least the next few days perhaps
> > someone would be willing to step up and collect patches so that Junio
> > has a reasonable place to pick up from when he can get back online?
> 
> While I have neither the time nor the abilities to do this I
> will at least accumulate the various cvsserver patches floating
> around the last few days so that I can submit them to Junio in one
> batch.

  I won't have the time either, though even if I keep posting patches on
the list, I'll resubmit a digest of mines when Junio will be back
online. (or share a public git repository so that he can directly fetch
from there).

-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* git-svn, svn:externals, git-submodules?
From: Benoit SIGOURE @ 2007-10-05 20:37 UTC (permalink / raw)
  To: git list

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

Hello,
is there any plan to support svn:externals in git-svn with git- 
submodules?  If yes, where can we see the on-going work?  If no, is  
anyone already planning to implement this?  If no, has anyone  
anything to say about the idea?  I could give it a try as I really  
need this feature to properly interoperate with SVN repositories.   
Many of my friends and co-workers also need it.

Cheers,

-- 
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]

^ permalink raw reply

* [StGIT PATCH] Better diagnostic for wrong branch configuration.
From: Yann Dirson @ 2007-10-05 20:44 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

If the branch.*.merge parameter does not name a valid remote head,
stgit would not rebase after a fetch, and would write instead
'Rebasing to "None" ... done'.

This patch makes this situation an error and tells the user what
to fix in his repo configuration.
---

 stgit/commands/pull.py |    9 ++++++++-
 stgit/git.py           |    5 ++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/stgit/commands/pull.py b/stgit/commands/pull.py
index 052ea2b..070db99 100644
--- a/stgit/commands/pull.py
+++ b/stgit/commands/pull.py
@@ -90,7 +90,14 @@ def func(parser, options, args):
     elif policy == 'fetch-rebase':
         out.info('Fetching from "%s"' % repository)
         git.fetch(repository)
-        rebase(git.fetch_head())
+        try:
+            target = git.fetch_head()
+        except git.GitException:
+            out.error('Could not find the remote head to rebase onto, pushing any patches back...')
+            post_rebase(applied, False, False)
+            raise CmdException, 'Could not find the remote head to rebase onto - fix branch.%s.merge in .git/config' % crt_series.get_name()
+
+        rebase(target)
     elif policy == 'rebase':
         rebase(crt_series.get_parent_branch())
 
diff --git a/stgit/git.py b/stgit/git.py
index 9e0f771..a0493bc 100644
--- a/stgit/git.py
+++ b/stgit/git.py
@@ -1003,11 +1003,14 @@ def fetch_head():
         m = re.match('^([^\t]*)\t\t', line)
         if m:
             if fetch_head:
-                raise GitException, "StGit does not support multiple FETCH_HEAD"
+                raise GitException, 'StGit does not support multiple FETCH_HEAD'
             else:
                 fetch_head=m.group(1)
     stream.close()
 
+    if not fetch_head:
+        raise GitException, 'No for-merge remote head found in FETCH_HEAD'
+
     # here we are sure to have a single fetch_head
     return fetch_head
 

^ permalink raw reply related

* Re: Question about "git commit -a"
From: Dmitry Potapov @ 2007-10-05 21:10 UTC (permalink / raw)
  To: Kristian Høgsberg
  Cc: Andreas Ericsson, Paolo Ciarrocchi, Johannes Schindelin,
	Nguyen Thai Ngoc Duy, Wincent Colaiuta, Git Mailing List
In-Reply-To: <1191599763.7117.18.camel@hinata.boston.redhat.com>

On Fri, Oct 05, 2007 at 11:56:03AM -0400, Kristian Høgsberg wrote:
> I understand why people like staging and commit without -a, seeing how
> it's faster and all, but I have a serious problem with this practice
> that I haven't seen brought up on the list.  How do you know what you
> commit actually works or even compiles?

You don't. Even with 'commit -a' there is no guarantee that the
result will compile, because you can forget to add a new file.
IMHO, the best practice is to recompile everything step-wise in 
a clean directory before you are going to publish your changes.
It can be done automatically by script, while you do something
useful, like reading this mailing-list :)

Dmitry

^ permalink raw reply

* [PATCH] makefile: Add a cscope target
From: Kristof Provost @ 2007-10-05 22:33 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 1362 bytes --]

The current makefile supports ctags but not cscope. Some people prefer
cscope (I do), so this patch adds a cscope target.

Signed-off-by: Kristof Provost <Kristof@provost-engineering.be>

---
diff --git a/Makefile b/Makefile
index 8db4dbe..42c9e94 100644
--- a/Makefile
+++ b/Makefile
@@ -947,6 +947,10 @@ tags:
 	$(RM) tags
 	$(FIND) . -name '*.[hcS]' -print | xargs ctags -a
 
+cscope:
+	$(RM) cscope*
+	$(FIND) . -name '*.hcS]' -print | xargs cscope -b
+
 ### Detect prefix changes
 TRACK_CFLAGS = $(subst ','\'',$(ALL_CFLAGS)):\
              $(bindir_SQ):$(gitexecdir_SQ):$(template_dir_SQ):$(prefix_SQ)
@@ -1093,7 +1097,7 @@ clean:
 		$(LIB_FILE) $(XDIFF_LIB)
 	$(RM) $(ALL_PROGRAMS) $(BUILT_INS) git$X
 	$(RM) $(TEST_PROGRAMS)
-	$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags
+	$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags cscope*
 	$(RM) -r autom4te.cache
 	$(RM) configure config.log config.mak.autogen config.mak.append config.status config.cache
 	$(RM) -r $(GIT_TARNAME) .doc-tmp-dir
@@ -1111,7 +1115,7 @@ endif
 	$(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-GUI-VARS
 
 .PHONY: all install clean strip
-.PHONY: .FORCE-GIT-VERSION-FILE TAGS tags .FORCE-GIT-CFLAGS
+.PHONY: .FORCE-GIT-VERSION-FILE TAGS tags cscope .FORCE-GIT-CFLAGS 
 
 ### Check documentation
 #


--
Kristof

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox