* Re: [PATCH] Fix problematic ']'
From: Timo Hirvonen @ 2007-07-23 20:58 UTC (permalink / raw)
To: Johannes Sixt; +Cc: git, Johannes Schindelin
In-Reply-To: <200707232236.21389.johannes.sixt@telecom.at>
Johannes Sixt <johannes.sixt@telecom.at> wrote:
> Not all shells grok a closing ']' of the shell '[' command without
> surrounding space.
That's one good reason to use test instead of /usr/bin/[ hack (yes it
has been a shell built-in for a long time). [ is just like test but
expects ] as last parameter and ignores it. Very ugly IMO.
--
http://onion.dynserv.net/~timo/
^ permalink raw reply
* Re: [QGIT4 PATCH 0/6] Some UI Improvements
From: Peter Oberndorfer @ 2007-07-23 20:52 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
In-Reply-To: <200707232232.39546.kumbayo84@arcor.de>
On Monday 23 July 2007 22:32, Peter Oberndorfer wrote:
> Hi,
> the initial reason for this patches is that here on my system qgit4 looks like this
> http://img77.imageshack.us/my.php?image=qgit4strangewindowgi0.png
> which is a bit suboptimal for viewing patches :-)
> this is on a standard qt 4.3 from gentoo
>
> While i was there i removed the same problem in the custom action editor
> and removed some unneed empty space
>
> Actually locally i removed even more empty space, like around the main tab view
> and inside the main tab view.
> If anyone wants me to remove that too, i would be happy to send more patches
>
> [QGIT4 PATCH 1/6] update patchview.ui with new qt designer
> When i edit the .ui files with the QT designer it updates some unrelated parts.
> Because of this i split the update into a separate patch so the real changes are obvious.
> Feel free to collapse them if you want
>
> [QGIT4 PATCH 2/6] change size policy of the patch viewer to expanding
> this fixes the problem from the screenshot above
>
> [QGIT4 PATCH 3/6] update patchview.ui with new qt designer
> same reason as patch 1
>
> [QGIT4 PATCH 4/6] change size policy of splitter which contains the list and the textbox
> fix same problem in custom action editor
>
> [QGIT4 PATCH 5/6] remove empty space below "diff to" header in patch view
> [QGIT4 PATCH 6/6] remove empty space below button bar in file view
> these remove some more empty space which i personally find useless
> Apply if you like them
>
> If you want i can provide more screenshots of how patches change appearance.
>
> Greetings Peter
> -
> 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
>
>
hmm, kmail moved Signed-off-by in patches to mail headers,
because there was no message text before it.
so here is a
Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
for all my qgit patches
Greetings Peter
^ permalink raw reply
* Re: [PATCH] Fix problematic ']'
From: Johannes Schindelin @ 2007-07-23 20:51 UTC (permalink / raw)
To: Johannes Sixt; +Cc: git
In-Reply-To: <200707232236.21389.johannes.sixt@telecom.at>
Hi,
On Mon, 23 Jul 2007, Johannes Sixt wrote:
> Not all shells grok a closing ']' of the shell '[' command without
> surrounding space.
Darn.
Thanks for cleaning up behind me,
Dscho
^ permalink raw reply
* Re: [RFC PATCH] Re: Empty directories...
From: David Kastrup @ 2007-07-23 20:49 UTC (permalink / raw)
To: Nix; +Cc: git
In-Reply-To: <87ps2inab5.fsf@hades.wkstn.nix>
Nix <nix@esperi.org.uk> writes:
> On 19 Jul 2007, David Kastrup stated:
>> Tomash Brechko <tomash.brechko@gmail.com> writes:
>>> Please consider this: I myself use Git to track my own local
>>> projects, and for this usage you proposal have no value for me,
>>> i.e. as a _Source_ Code Management system Git is rather complete.
>>> But I also track /etc and ~/ in Git, and for this I'd love to have
>>> directories, permissions, ownership, other attributes, to be
>>> tracked. I have Perl script wrapping Git that allows me to filter
>>> tracked paths by full regexps instead of Git's file globs, and also
>>> to filter out too big files assuming that they are binary anyway.
>>
>> Look, git _tracks_ contents. Your permissions managements needs to
>> be told explicitly when and how things change. So you end up with
>> git _tracking_ material and your permissions/directory management
>> needing the level of manual handholding Subversion demands.
>
> Actually, if we had a post-checkout hook, we could use a pre-commit
> hook to keep track of directory existence, permissions, et seq, and
> a post- checkout hook to restore them.
Actually, tracking permissions would be cheap: one just needs to
replace the permission-munging macros in git with identity. Ownership
-- well, that's harder.
But my sentiment remains: git _tracks_ stuff: it notices when things
move around and follows them. Statically snapshotting permissions
creates a layer that is quite less flexible. The information gets
detached.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
^ permalink raw reply
* Re: Git tree for old kernels from before the current tree
From: Nicolas Pitre @ 2007-07-23 20:45 UTC (permalink / raw)
To: Linus Torvalds
Cc: H. Peter Anvin, Jan Engelhardt, Paul Mundt, Jon Smirl,
Git Mailing List, lkml
In-Reply-To: <alpine.LFD.0.999.0707231250390.3607@woody.linux-foundation.org>
On Mon, 23 Jul 2007, Linus Torvalds wrote:
>
>
> On Mon, 23 Jul 2007, Nicolas Pitre wrote:
> >
> > What is missing is:
> >
> > - v0.02 sources
>
> I think this really is gone. 0.03 was such an improvement on 0.02 that I
> think what happened was that I literally removed 0.02 (hey, it wasn't
> historically interesting at the time!). It's not the first time people
> have wondered about it.
>
> 0.03 was the first version where you could actually do things under Linux,
> and I think I could compile etc. I *think* it was released pretty close
> after 0.02, which made 0.02 appear even more flawed and a brown-paper-bag
> release.
Could that version be found anywhere?
> > - v0.10 announcement
>
> Hmm. That one would be interesting, since the reason for the 0.03->0.10
> jump was that I was getting so happy with how it was actually working for
> me (ie able to compile itself under itself). But I don't see it, and it's
> not on google in the comp.os.minix archives either, afaik.
Anyone out there keeping an archive of those old posts? Archival sites
appear to have a black hole during that period.
> > - v0.99.12 announcement
>
> Well, the 0.99.12 announcement is found by google.
>
> http://groups.google.com/group/comp.os.linux.announce/browse_thread/thread/8a19289f68a4af35/fe433c9df4b382a5?lnk=st&q=&rnum=1#fe433c9df4b382a5
>
> In general, google groups (search by date and author, and make the group
> be something like *linux*) is good, I found the above on the first try.
Yeah... Don't know what happened. I must have found it then because I
had a file to store it in my data directory, but somehow it was empty.
Fixed now.
Nicolas
^ permalink raw reply
* [QGIT4 PATCH 6/6] remove empty space below button bar in file view
From: Peter Oberndorfer @ 2007-07-21 13:22 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
In-Reply-To: <200707232232.39546.kumbayo84@arcor.de>
---
src/fileview.ui | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/fileview.ui b/src/fileview.ui
index 190ed5e..97fa000 100644
--- a/src/fileview.ui
+++ b/src/fileview.ui
@@ -31,7 +31,7 @@
<item>
<layout class="QVBoxLayout" >
<property name="spacing" >
- <number>6</number>
+ <number>0</number>
</property>
<property name="leftMargin" >
<number>0</number>
--
1.5.3.rc2.30.g1fe72
^ permalink raw reply related
* [QGIT4 PATCH 3/6] update patchview.ui with new qt designer
From: Peter Oberndorfer @ 2007-07-21 13:24 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
In-Reply-To: <200707232232.39546.kumbayo84@arcor.de>
---
src/customaction.ui | 154 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 121 insertions(+), 33 deletions(-)
diff --git a/src/customaction.ui b/src/customaction.ui
index fc2ceba..59004ca 100644
--- a/src/customaction.ui
+++ b/src/customaction.ui
@@ -16,26 +16,42 @@
<iconset resource="icons.qrc" >:/icons/resources/bookmark.png</iconset>
</property>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>5</number>
- </property>
<property name="spacing" >
<number>0</number>
</property>
+ <property name="leftMargin" >
+ <number>5</number>
+ </property>
+ <property name="topMargin" >
+ <number>5</number>
+ </property>
+ <property name="rightMargin" >
+ <number>5</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>5</number>
+ </property>
<item>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QFrame" name="frame" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -47,20 +63,38 @@
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>15</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QPushButton" name="pushButtonNew" >
<property name="text" >
@@ -147,20 +181,38 @@
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="labelActionName" >
<property name="text" >
@@ -186,20 +238,38 @@
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="textLabel1" >
<property name="text" >
@@ -219,12 +289,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QCheckBox" name="checkBoxRefreshAfterAction" >
<property name="toolTip" >
@@ -261,12 +340,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<spacer>
<property name="orientation" >
--
1.5.3.rc2.30.g1fe72
^ permalink raw reply related
* [QGIT4 PATCH 4/6] change size policy of splitter which contains the list and the textbox
From: Peter Oberndorfer @ 2007-07-21 13:31 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
In-Reply-To: <200707232232.39546.kumbayo84@arcor.de>
in action setup dialog to expanding
else the empty space with the button below takes up half of the vertical space
Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
---
src/customaction.ui | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/customaction.ui b/src/customaction.ui
index 59004ca..49bb6c7 100644
--- a/src/customaction.ui
+++ b/src/customaction.ui
@@ -170,6 +170,12 @@
</item>
<item>
<widget class="QSplitter" name="splitter" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
--
1.5.3.rc2.30.g1fe72
^ permalink raw reply related
* [QGIT4 PATCH 5/6] remove empty space below "diff to" header in patch view
From: Peter Oberndorfer @ 2007-07-20 21:53 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
In-Reply-To: <200707232232.39546.kumbayo84@arcor.de>
---
src/patchview.ui | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/patchview.ui b/src/patchview.ui
index 6dbf53c..b4d3081 100644
--- a/src/patchview.ui
+++ b/src/patchview.ui
@@ -31,7 +31,7 @@
<item>
<layout class="QVBoxLayout" >
<property name="spacing" >
- <number>6</number>
+ <number>0</number>
</property>
<property name="leftMargin" >
<number>0</number>
@@ -131,7 +131,7 @@
<property name="sizeHint" >
<size>
<width>20</width>
- <height>40</height>
+ <height>0</height>
</size>
</property>
</spacer>
--
1.5.3.rc2.30.g1fe72
^ permalink raw reply related
* [QGIT4 PATCH 2/6] change size policy of the patch viewer to expanding
From: Peter Oberndorfer @ 2007-07-20 20:50 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
In-Reply-To: <200707232232.39546.kumbayo84@arcor.de>
else the diff to header will take up half of the vertical space
Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
---
src/patchview.ui | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/patchview.ui b/src/patchview.ui
index a599e09..6dbf53c 100644
--- a/src/patchview.ui
+++ b/src/patchview.ui
@@ -163,6 +163,12 @@
</item>
<item>
<widget class="QSplitter" name="splitter_2" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
--
1.5.3.rc2.30.g1fe72
^ permalink raw reply related
* [QGIT4 PATCH 1/6] update patchview.ui with new qt designer
From: Peter Oberndorfer @ 2007-07-22 12:50 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
In-Reply-To: <200707232232.39546.kumbayo84@arcor.de>
---
src/patchview.ui | 57 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 39 insertions(+), 18 deletions(-)
diff --git a/src/patchview.ui b/src/patchview.ui
index 1539242..a599e09 100644
--- a/src/patchview.ui
+++ b/src/patchview.ui
@@ -13,28 +13,55 @@
<string>Patch</string>
</property>
<layout class="QHBoxLayout" >
- <property name="margin" >
+ <property name="spacing" >
<number>0</number>
</property>
- <property name="spacing" >
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
<number>0</number>
</property>
<item>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>2</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>2</number>
+ </property>
+ <property name="topMargin" >
+ <number>2</number>
+ </property>
+ <property name="rightMargin" >
+ <number>2</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>2</number>
+ </property>
<item>
<widget class="QLabel" name="textLabel" >
<property name="text" >
@@ -112,9 +139,7 @@
<item>
<widget class="QLineEdit" name="lineEditDiff" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -143,9 +168,7 @@
</property>
<widget class="QSplitter" name="splitter" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>7</vsizetype>
+ <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
<horstretch>5</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -169,15 +192,13 @@
<bool>true</bool>
</property>
<property name="textInteractionFlags" >
- <enum>Qt::TextSelectableByMouse</enum>
+ <set>Qt::TextSelectableByMouse</set>
</property>
</widget>
</widget>
<widget class="FileList" name="fileList" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>13</hsizetype>
- <vsizetype>13</vsizetype>
+ <sizepolicy vsizetype="Ignored" hsizetype="Ignored" >
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
--
1.5.3.rc2.30.g1fe72
^ permalink raw reply related
* [QGIT4 PATCH 0/6] Some UI Improvements
From: Peter Oberndorfer @ 2007-07-23 20:32 UTC (permalink / raw)
To: git; +Cc: Marco Costalba
Hi,
the initial reason for this patches is that here on my system qgit4 looks like this
http://img77.imageshack.us/my.php?image=qgit4strangewindowgi0.png
which is a bit suboptimal for viewing patches :-)
this is on a standard qt 4.3 from gentoo
While i was there i removed the same problem in the custom action editor
and removed some unneed empty space
Actually locally i removed even more empty space, like around the main tab view
and inside the main tab view.
If anyone wants me to remove that too, i would be happy to send more patches
[QGIT4 PATCH 1/6] update patchview.ui with new qt designer
When i edit the .ui files with the QT designer it updates some unrelated parts.
Because of this i split the update into a separate patch so the real changes are obvious.
Feel free to collapse them if you want
[QGIT4 PATCH 2/6] change size policy of the patch viewer to expanding
this fixes the problem from the screenshot above
[QGIT4 PATCH 3/6] update patchview.ui with new qt designer
same reason as patch 1
[QGIT4 PATCH 4/6] change size policy of splitter which contains the list and the textbox
fix same problem in custom action editor
[QGIT4 PATCH 5/6] remove empty space below "diff to" header in patch view
[QGIT4 PATCH 6/6] remove empty space below button bar in file view
these remove some more empty space which i personally find useless
Apply if you like them
If you want i can provide more screenshots of how patches change appearance.
Greetings Peter
^ permalink raw reply
* [PATCH] Fix problematic ']'
From: Johannes Sixt @ 2007-07-23 20:36 UTC (permalink / raw)
To: git; +Cc: Johannes Schindelin
Not all shells grok a closing ']' of the shell '[' command without
surrounding space.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
I didn't go the long way to change all `[ ... ]` into `test ...`
git-rebase--interactive.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 579a45e..e0d1326 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -385,7 +385,7 @@ do
require_clean_work_tree
- if [ ! -z "$2"]
+ if [ ! -z "$2" ]
then
git show-ref --verify --quiet "refs/heads/$2" ||
die "Invalid branchname: $2"
--
1.5.3.rc0
^ permalink raw reply related
* Re: Git tree for old kernels from before the current tree
From: Theodore Tso @ 2007-07-23 20:22 UTC (permalink / raw)
To: Linus Torvalds
Cc: H. Peter Anvin, Jan Engelhardt, Paul Mundt, Jon Smirl,
Git Mailing List, lkml
In-Reply-To: <alpine.LFD.0.999.0707231242090.3607@woody.linux-foundation.org>
On Mon, Jul 23, 2007 at 12:44:57PM -0700, Linus Torvalds wrote:
>
>
> On Mon, 23 Jul 2007, Theodore Tso wrote:
> >
> > Um, *I* never had the bad taste to import Linux kernels into CVS. :-)
>
> Ahh. I just checked.
>
> RCS.
>
> There are old linux archive of yours that has some RCS files in it (0.10
> and 0.12 at least)
Ah, yes, I used to use RCS in order to generate the patches that I
sent to use. The RCS directories were short-term, and never lasted
longer until the next kernel release. I'm kind of surprised that I
actually had archives that had RCS files, since tsx-11 should have
just had the original tar.gz files from ftp.cs.helsinki.edu. Maybe
for some reason the original files got nuked and I replaced it with
one of my saved files at one point. I dunno....
- Ted
^ permalink raw reply
* [PATCH] Add glossary that can be converted into a po file for each language.
From: Christian Stimming @ 2007-07-23 20:16 UTC (permalink / raw)
To: Junio C Hamano
Cc: Johannes Schindelin, Shawn O. Pearce, Brett Schwarz, git,
Paul Mackerras
In-Reply-To: <7vabtpv43d.fsf@assigned-by-dhcp.cox.net>
Signed-off-by: Christian Stimming <stimming@tuhh.de>
---
Am Samstag, 21. Juli 2007 23:28 schrieb Junio C Hamano:
> >> I would suggest having one glossary file per language.
> >
> > Agreed. I propose to throw away the "add glossary" patch and I'll
> > resubmit, this time in a separate po/glossary/ directory, where each
> > language will get a po file for the glossary.
>
> Actually, I would even suggest that we should NOT have a
> separate glossary file at all, if gettext suite allows what I
> outline below.
>
> How about having it as a part of header comment in each of the
> xx.po file?
As I already wrote: Having a glossary in the header of the po file has
some (IMHO serious) drawbacks. For that reason I've pushed this patch
to the mob branch: It contains one tab-separated text file with the relevant
terms *plus their definition* (for now, pulled from
git/Documentation/glossary.txt). As an example, you also see the German
glossary translation - and having the definition available there as well (and
having it updated by running make update-po) is indeed a huge advantage.
po/glossary/Makefile | 9 ++
po/glossary/de.po | 151 ++++++++++++++++++++++++++++++++++++++
po/glossary/git-gui-glossary.txt | 34 +++++++++
po/glossary/txt-to-pot.sh | 48 ++++++++++++
4 files changed, 242 insertions(+), 0 deletions(-)
create mode 100644 po/glossary/Makefile
create mode 100644 po/glossary/de.po
create mode 100644 po/glossary/git-gui-glossary.txt
create mode 100755 po/glossary/txt-to-pot.sh
diff --git a/po/glossary/Makefile b/po/glossary/Makefile
new file mode 100644
index 0000000..749aa2e
--- /dev/null
+++ b/po/glossary/Makefile
@@ -0,0 +1,9 @@
+PO_TEMPLATE = git-gui-glossary.pot
+
+ALL_POFILES = $(wildcard *.po)
+
+$(PO_TEMPLATE): $(subst .pot,.txt,$(PO_TEMPLATE))
+ ./txt-to-pot.sh $< > $@
+
+update-po:: git-gui-glossary.pot
+ $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; )
diff --git a/po/glossary/de.po b/po/glossary/de.po
new file mode 100644
index 0000000..0d07f68
--- /dev/null
+++ b/po/glossary/de.po
@@ -0,0 +1,151 @@
+# Translation of git-gui glossary to German
+# 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"
+"PO-Revision-Date: 2007-07-23 22:07+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"
+
+#. "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 "Deutsche Übersetzung"
+
+#. ""
+msgid "amend"
+msgstr "nachbessern (ergänzen)"
+
+#. ""
+msgid "annotate"
+msgstr "annotieren"
+
+#. "A 'branch' is an active line of development."
+msgid "branch [noun]"
+msgstr "Zweig"
+
+#. ""
+msgid "branch [verb]"
+msgstr "verzweigen"
+
+#. ""
+msgid "checkout [noun]"
+msgstr "Auscheck? Ausspielung? Abruf?"
+
+#. "The action of updating the working tree to a revision which was stored in the object database."
+msgid "checkout [verb]"
+msgstr "auschecken? ausspielen? abrufen?"
+
+#. "A single point in the git history."
+msgid "commit [noun]"
+msgstr "Ü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 (senden?, übergeben?, einspielen?, einpflegen?, ablegen?)"
+
+#. ""
+msgid "diff [noun]"
+msgstr "Vergleich"
+
+#. ""
+msgid "diff [verb]"
+msgstr "vergleichen"
+
+#. "A fast-forward is a special typ 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 "Schnellzusammenführung"
+
+#. "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 "anfordern (holen?)"
+
+#. "A collection of files. The index is a stored version of your working tree."
+msgid "index (in git-gui: staging area)"
+msgstr "Bereitstellung"
+
+#. "A successful merge results in the creation of a new commit representing the result of the merge."
+msgid "merge [noun]"
+msgstr "Zusammenführung"
+
+#. "To bring the contents of another branch into the current branch."
+msgid "merge [verb]"
+msgstr "zusammenführen"
+
+#. ""
+msgid "message"
+msgstr "Meldung (Nachricht?)"
+
+#. "Pulling a branch means to fetch it and merge it."
+msgid "pull"
+msgstr "übernehmen (ziehen?)"
+
+#. "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 "ausliefern (hochladen? verschicken? schieben?)"
+
+#. ""
+msgid "redo"
+msgstr "wiederholen"
+
+#. "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 "Projektarchiv"
+
+#. ""
+msgid "reset"
+msgstr "zurücksetzen"
+
+#. ""
+msgid "revert"
+msgstr "revidieren (aufheben?, zurückkehren?)"
+
+#. "A particular state of files and directories which was stored in the object database."
+msgid "revision"
+msgstr "Version? Revision?"
+
+#. ""
+msgid "sign off"
+msgstr "abzeichnen (gegenzeichnen?, freizeichnen?, absegnen?)"
+
+#. ""
+msgid "staging area"
+msgstr "Bereitstellung"
+
+#. ""
+msgid "status"
+msgstr "Status"
+
+#. "A ref pointing to a tag or commit object"
+msgid "tag [noun]"
+msgstr "Markierung"
+
+#. ""
+msgid "tag [verb]"
+msgstr "markieren"
+
+#. "A regular git branch that is used to follow changes from another repository."
+msgid "tracking branch"
+msgstr "? Entfernter Zweig? Folgezweig?"
+
+#. ""
+msgid "undo"
+msgstr "rückgängig"
+
+#. ""
+msgid "update"
+msgstr "aktualisieren"
+
+#. ""
+msgid "verify"
+msgstr "überprüfen"
+
+#. "The tree of actual checked out files."
+msgid "working copy, working tree"
+msgstr "Arbeitskopie"
diff --git a/po/glossary/git-gui-glossary.txt b/po/glossary/git-gui-glossary.txt
new file mode 100644
index 0000000..e079bb2
--- /dev/null
+++ b/po/glossary/git-gui-glossary.txt
@@ -0,0 +1,34 @@
+"English Term (Dear translator: This file will never be visible to the user!)" "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.)"
+"amend" ""
+"annotate" ""
+"branch [noun]" "A 'branch' is an active line of development."
+"branch [verb]" ""
+"checkout [noun]" ""
+"checkout [verb]" "The action of updating the working tree to a revision which was stored in the object database."
+"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]" ""
+"diff [verb]" ""
+"fast forward merge" "A fast-forward is a special typ 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."
+"fetch" "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."
+"index (in git-gui: staging area)" "A collection of files. The index is a stored version of your working tree."
+"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" ""
+"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" ""
+"repository" "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?)"
+"reset" ""
+"revert" ""
+"revision" "A particular state of files and directories which was stored in the object database."
+"sign off" ""
+"staging area" ""
+"status" ""
+"tag [noun]" "A ref pointing to a tag or commit object"
+"tag [verb]" ""
+"tracking branch" "A regular git branch that is used to follow changes from another repository."
+"undo" ""
+"update" ""
+"verify" ""
+"working copy, working tree" "The tree of actual checked out files."
diff --git a/po/glossary/txt-to-pot.sh b/po/glossary/txt-to-pot.sh
new file mode 100755
index 0000000..8a8f976
--- /dev/null
+++ b/po/glossary/txt-to-pot.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+# This is a very, _very_, simple script to convert a tab-separated
+# .txt file into a .pot/.po.
+# Its not clever but it took me 2 minutes to write :)
+# Michael Twomey <michael.twomey@ireland.sun.com>
+# 23 March 2001
+# with slight GnuCash modifications by Christian Stimming <stimming@tuhh.de>
+# 19 Aug 2001, 23 Jul 2007
+
+#check args
+if [ $# -eq 0 ]
+then
+ cat <<!
+Usage: `basename $0` git-gui-glossary.txt > git-gui-glossary.pot
+!
+ exit 1;
+fi
+
+GLOSSARY_CSV="$1";
+
+if [ ! -f "$GLOSSARY_CSV" ]
+then
+ echo "Can't find $GLOSSARY_CSV.";
+ exit 1;
+fi
+
+cat <<!
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: `date +'%Y-%m-%d %H:%M%z'`\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=CHARSET\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+!
+
+#Yes this is the most simple awk script you've ever seen :)
+awk -F'\t' '{if ($2 != "") print "#. "$2; print "msgid "$1; print "msgstr \"\"\n"}' \
+$GLOSSARY_CSV
--
1.5.2
^ permalink raw reply related
* Re: [RFC PATCH] Re: Empty directories...
From: Nix @ 2007-07-23 20:18 UTC (permalink / raw)
To: David Kastrup; +Cc: git
In-Reply-To: <863azka7d4.fsf@lola.quinscape.zz>
On 19 Jul 2007, David Kastrup stated:
> Tomash Brechko <tomash.brechko@gmail.com> writes:
>> Please consider this: I myself use Git to track my own local
>> projects, and for this usage you proposal have no value for me,
>> i.e. as a _Source_ Code Management system Git is rather complete.
>> But I also track /etc and ~/ in Git, and for this I'd love to have
>> directories, permissions, ownership, other attributes, to be
>> tracked. I have Perl script wrapping Git that allows me to filter
>> tracked paths by full regexps instead of Git's file globs, and also
>> to filter out too big files assuming that they are binary anyway.
>
> Look, git _tracks_ contents. Your permissions managements needs to be
> told explicitly when and how things change. So you end up with git
> _tracking_ material and your permissions/directory management needing
> the level of manual handholding Subversion demands.
Actually, if we had a post-checkout hook, we could use a pre-commit hook
to keep track of directory existence, permissions, et seq, and a post-
checkout hook to restore them.
(But we don't, at least not yet. Adding one is probably quite easy.)
^ permalink raw reply
* Re: Git tree for old kernels from before the current tree
From: Linus Torvalds @ 2007-07-23 20:10 UTC (permalink / raw)
To: Nicolas Pitre
Cc: H. Peter Anvin, Jan Engelhardt, Paul Mundt, Jon Smirl,
Git Mailing List, lkml
In-Reply-To: <alpine.LFD.0.999.0707231432560.6355@xanadu.home>
On Mon, 23 Jul 2007, Nicolas Pitre wrote:
>
> What is missing is:
>
> - v0.02 sources
I think this really is gone. 0.03 was such an improvement on 0.02 that I
think what happened was that I literally removed 0.02 (hey, it wasn't
historically interesting at the time!). It's not the first time people
have wondered about it.
0.03 was the first version where you could actually do things under Linux,
and I think I could compile etc. I *think* it was released pretty close
after 0.02, which made 0.02 appear even more flawed and a brown-paper-bag
release.
> - v0.10 announcement
Hmm. That one would be interesting, since the reason for the 0.03->0.10
jump was that I was getting so happy with how it was actually working for
me (ie able to compile itself under itself). But I don't see it, and it's
not on google in the comp.os.minix archives either, afaik.
> - v0.96 sources
Hmm. Odd. Might be another case of "0.96a was released as a
brown-paper-bag fix for 0.96, and the latter hidden in shame".
Stupid bugs only appear endearing in retrospect.
> - v0.99.12 announcement
Well, the 0.99.12 announcement is found by google.
http://groups.google.com/group/comp.os.linux.announce/browse_thread/thread/8a19289f68a4af35/fe433c9df4b382a5?lnk=st&q=&rnum=1#fe433c9df4b382a5
In general, google groups (search by date and author, and make the group
be something like *linux*) is good, I found the above on the first try.
> - sources for v0.99.13{abcdefghij} (got k, don't know where the serie
> ends) as well as announcements for all of them
>
> - all announcements for v0.99.14{a-z} except for pl14r
>
> - announcements for pl15c to pl15j, 1.0-pre1, and ALPHA-1.0.
Many of those might not have merited announcements. At some point I was
just making tar-balls a few days apart, to let people track it.
> Otherwise the archive appears fairly complete with almost 3 years of
> Linux development history captured in a 3MB pack file.
Heh, nice. Those early versions are all smaller than the patch set we
generate in a day these days :)
Linus
^ permalink raw reply
* Re: Git help for kernel archeology, suppress diffs caused by CVS keyword expansion
From: Johannes Schindelin @ 2007-07-23 20:11 UTC (permalink / raw)
To: Jon Smirl; +Cc: Git Mailing List
In-Reply-To: <9e4733910707230744u2d3a0a31t9f65d5c9e68c9805@mail.gmail.com>
Hi,
On Mon, 23 Jul 2007, Jon Smirl wrote:
> On 7/22/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Okay, I did not really test thoroughly, it seems. Sorry. Next try.
>
> It's working a lot better. People deal with $Id two different ways.
> One way they delete all of the $Id lines, that is the case of the
> Sonos patch. In the Phytec patch they left all of the $Id lines in
> place which caused them to get modified. In both cases you just want
> the lines with $Id to disappear in the patch.
>
> It doesn't catch the $Id case from the Phytec patch.
>
> diff -uarN linux-2.6.10/arch/cris/arch-v10/boot/rescue/head.S
> linux-2.6.10-lpc3180/arch/cris/arch-v10/boot/rescue/head.S
> --- linux-2.6.10/arch/cris/arch-v10/boot/rescue/head.S 2004-12-25
> 05:35:24.000000000 +0800
> +++ linux-2.6.10-lpc3180/arch/cris/arch-v10/boot/rescue/head.S
> 2006-11-20 15:49:30.000000000 +0800
> @@ -1,4 +1,5 @@
> /* $Id: head.S,v 1.6 2003/04/09 08:12:43 pkj Exp $
> +/* $Id: head.S,v 1.2 2005/02/18 13:06:31 mike Exp $
> *
> * Rescue code, made to reside at the beginning of the
> * flash-memory. when it starts, it checks a partition
>
> It's not catching all of the $Revision and $Date deltas.
>
> The output diff shouldn't contain any CVS keywords. It is somewhat
> tricky to catch all of the cases and fix up the diffs. This filter
> should get written and debugged once and then made part of something
> like git so that it doesn't get written over and over again. Perl is
> way better for this I had 1000 lines of C in my program and it was
> still missing 10% of the cases.
Next try. It includes documentation, skips $Source:$ and $Header:$ as
well, and the output diff does not contain any CVS keywords.
Ah yes, and if a file was actually created, it substitutes the --- file
name with /dev/null. In that case, the keywords are skipped, too!
However, when a file was deleted, they are _not_ skipped.
Strictly speaking, it is wrong to just cut out the lines containing CVS
keywords, since it is possible that there is an important change on that
line, but we can cross that bridge once companies play such cute games
with us.
But at least I tested the resulting patch with your phytec3180 patch this
time...
Ciao,
Dscho
-- snipsnap --
#!/usr/bin/perl
# This is a simple state machine.
#
# There is the state of the current file; its header is stored
# in $current_file to avoid outputting it when all hunks were
# culled. It is only printed before the first hunk, and then
# set to "" to avoid outputting it twice.
#
# There are the states of the current hunk, stored in
# * $current_hunk (possibly modified hunk)
# * $start_minus, $start_plus (from the original)
# * $plus, $minus, $space (the current count of the respective lines)
# a hunk is only printed (in flush_hunk) if any '+' or '-' lines
# are left after filtering.
#
# For $Log..$, there is the state $skip_logs, which is set to 1
# after seeing such a line, and set to 0 when the first line
# was seen which does not begin with '+'.
#
# A particularly nasty special case is when a single "*" was
# misattributed by the diff to be _inserted before_ a $Log, instead
# of _appended after_ a $Log.
# This is the purpose of the $before_log and $after_log variables:
# if not empty, the state machine expects the next line to begin
# with '+' or '-', respectively, and followed by a $Log. If this
# expectation is not met, the variable is output.
#
# The variable $plus_minus_adjust contains the number of lines which
# were skipped from the "+" side, so that the correct offset is shown.
# This function gets a hunk header.
#
# It initializes the state variables described above
sub init_hunk {
$_ = $_[0];
$current_hunk = "";
$current_hunk_header = $_;
($start_minus, $dummy, $start_plus, $dummy) =
/^\@\@ -(\d+)(,\d+|) \+(\d+)(,\d+|) \@\@/;
$plus = $minus = $space = 0;
$skip_logs = 0;
$before_log = '';
$after_log = '';
# we prefer /dev/null as original file name when a file is new
if ($start_minus eq 0) {
$current_file =~ s/\n--- .*\n/\n--- \/dev\/null\n/;
} elsif ($start_plus eq 0) {
$current_file =~ s/\n\+\+\+ .*\n/\n+++ \/dev\/null\n/;
}
}
# This function is called whenever there is possibly a hunk to print.
# Nothing is printed if no '+' or '-' lines are left.
# Otherwise, if the file header was not yet shown, it does so now.
sub flush_hunk {
if ($plus > 0 || $minus > 0) {
if ($current_file ne "") {
print $current_file;
$current_file = "";
}
$minus += $space;
$plus += $space;
print "\@\@ -$start_minus,$minus "
. "+" . ($start_plus - $start_plus_adjust)
. ",$plus \@\@\n";
print $current_hunk;
}
}
# This adds a line to the current hunk and updates $space, $plus or $minus
sub add_line {
my $line = $_[0];
$current_hunk .= $line;
if ($line =~ /^ /) {
$space++;
} elsif ($line =~ /^\+/) {
$plus++;
} elsif ($line =~ /^-/) {
$minus++;
} elsif ($line =~ /^\\/) {
# do nothing
} else {
die "Unexpected line: $line";
}
}
# This function splits the current hunk into the part before the current
# line, and the part after the current line.
sub skip_line {
my $line = $_[0];
if ($start_minus == 0) {
# This patch adds a new file, just ignore that line
return;
} elsif ($start_plus == 0) {
# This patch removes a file, so include the line nevertheless
add_line $_;
return;
}
flush_hunk;
if ($line =~ /^-/) {
$minus++;
} elsif ($line =~ /^\+/) {
$plus++;
$start_plus_adjust++;
}
init_hunk "@@ -" . ($start_minus + $minus + $space)
. " +" . ($start_plus + $plus + $space)
. " @@\n";
}
$simple_keyword = "Id|Revision|Author|Date|Source|Header";
# This is the main loop
sub check_file {
$_ = $_[0];
$current_file = $_;
$start_plus_adjust = 0;
while (<>) {
if (/^\@\@/) {
last;
}
$current_file .= $_;
}
init_hunk $_;
# check hunks
while (<>) {
if ($before_log) {
if (!/\+.*\$Log.*\$/) {
add_line $before_log;
} else {
skip_line $before_log;
}
$before_log = '';
}
if ($after_log) {
if (!/-.*\$Log.*\$/) {
add_line $after_log;
} else {
skip_line $after_log;
}
$after_log = '';
}
if ($skip_logs) {
if (/^\+/) {
skip_line $_;
$skip_logs = 1;
} else {
$skip_logs = 0;
if (/^ *\*$/) {
$after_log = $_;
}
}
} elsif (/^\+.*\$($simple_keyword).*\$/) {
skip_line $_;
} elsif (/^\@\@.*/) {
flush_hunk;
init_hunk $_;
} elsif (/^diff/) {
flush_hunk;
return;
} elsif (/^-.*\$($simple_keyword).*\$/) {
# fake new hunk
skip_line $_;
} elsif (/^\+ *\*$/) {
$before_log = $_;
} elsif (/^([- \+]).*\$Log.*\$/) {
skip_line $_;
$skip_logs = 1;
} else {
add_line $_;
}
}
}
# This loop just shows everything before the first diff, and then hands
# over to check_file whenever it sees a line beginning with "diff".
while (<>) {
if (/^diff/) {
do {
check_file $_;
} while(/^diff/);
flush_hunk;
} else {
printf $_;
}
}
^ permalink raw reply
* Re: Git tree for old kernels from before the current tree
From: Linus Torvalds @ 2007-07-23 19:44 UTC (permalink / raw)
To: Theodore Tso
Cc: H. Peter Anvin, Jan Engelhardt, Paul Mundt, Jon Smirl,
Git Mailing List, lkml
In-Reply-To: <20070723185732.GB30165@thunk.org>
On Mon, 23 Jul 2007, Theodore Tso wrote:
>
> Um, *I* never had the bad taste to import Linux kernels into CVS. :-)
Ahh. I just checked.
RCS.
There are old linux archive of yours that has some RCS files in it (0.10
and 0.12 at least)
Linus
^ permalink raw reply
* [PATCH] Mark many more strings for i18n.
From: Christian Stimming @ 2007-07-23 19:37 UTC (permalink / raw)
To: Brett Schwarz, git, Paul Mackerras, Shawn O. Pearce; +Cc: Junio C Hamano
Signed-off-by: Christian Stimming <stimming@tuhh.de>
---
Has already been applied to the "mob" branch of git-gui-i18n.git. Now we
surpass the 250 messages - the translation is actually getting interesting
by now.
Note that many strings with variables in them had to be rewritten because
the variable evaluation has to come after the passing through [mc], not before.
Also, the structure of most of the error message is
"Some verbose text: \n\n git's error message" and the only i18n'able part of this is the
part before the colon. In this patch I propose to translate the first part *including*
the colon. Alternatively, the structure could be changed into
[append [mc "Some verbose text."] " " [mc "Git error message was:"] "\n\n$err"]
and only the very first part is changed but the rest is unchanged for all error messages.
git-gui.sh | 28 +++++++++---------
lib/blame.tcl | 10 +++---
lib/branch_checkout.tcl | 14 ++++----
lib/branch_create.tcl | 36 ++++++++++++------------
lib/branch_delete.tcl | 20 ++++++-------
lib/branch_rename.tcl | 22 +++++++-------
lib/browser.tcl | 20 ++++++------
lib/checkout_op.tcl | 46 +++++++++++++++---------------
lib/choose_rev.tcl | 16 +++++-----
lib/commit.tcl | 52 +++++++++++++++++-----------------
lib/console.tcl | 14 ++++----
lib/database.tcl | 26 ++++++++--------
lib/diff.tcl | 12 ++++----
lib/error.tcl | 8 ++--
lib/index.tcl | 8 ++--
lib/merge.tcl | 64 ++++++++++++++++++++++-------------------
lib/option.tcl | 46 +++++++++++++++---------------
lib/remote.tcl | 4 +-
lib/remote_branch_delete.tcl | 42 +++++++++++++--------------
lib/shortcut.tcl | 12 ++++----
lib/status_bar.tcl | 2 +-
lib/transport.tcl | 30 ++++++++++----------
22 files changed, 266 insertions(+), 266 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index 52170ee..fa510b9 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -528,7 +528,7 @@ proc tk_optionMenu {w varName args} {
set _git [_which git]
if {$_git eq {}} {
catch {wm withdraw .}
- error_popup "Cannot find git in PATH."
+ error_popup [mc "Cannot find git in PATH."]
exit 1
}
@@ -547,7 +547,7 @@ $err
}
if {![regsub {^git version } $_git_version {} _git_version]} {
catch {wm withdraw .}
- error_popup "Cannot parse Git version string:\n\n$_git_version"
+ error_popup [append [mc "Cannot parse Git version string:"] "\n\n$_git_version"]
exit 1
}
@@ -686,7 +686,7 @@ if {[catch {
set _prefix [git rev-parse --show-prefix]
} err]} {
catch {wm withdraw .}
- error_popup "Cannot find the git directory:\n\n$err"
+ error_popup [append [mc "Cannot find the git directory:"] "\n\n$err"]
exit 1
}
if {![file isdirectory $_gitdir] && [is_Cygwin]} {
@@ -694,18 +694,18 @@ if {![file isdirectory $_gitdir] && [is_Cygwin]} {
}
if {![file isdirectory $_gitdir]} {
catch {wm withdraw .}
- error_popup "Git directory not found:\n\n$_gitdir"
+ error_popup [append [mc "Git directory not found:"] "\n\n$_gitdir"]
exit 1
}
if {![is_enabled bare]} {
if {[lindex [file split $_gitdir] end] ne {.git}} {
catch {wm withdraw .}
- error_popup "Cannot use funny .git directory:\n\n$_gitdir"
+ error_popup [append [mc "Cannot use funny .git directory:"] "\n\n$_gitdir"]
exit 1
}
if {[catch {cd [file dirname $_gitdir]} err]} {
catch {wm withdraw .}
- error_popup "No working directory [file dirname $_gitdir]:\n\n$err"
+ error_popup [append [mc "No working directory"] " [file dirname $_gitdir]:\n\n$err"]
exit 1
}
}
@@ -850,7 +850,7 @@ proc rescan {after {honor_trustmtime 1}} {
rescan_stage2 {} $after
} else {
set rescan_active 1
- ui_status {Refreshing file status...}
+ ui_status [mc "Refreshing file status..."]
set fd_rf [git_read update-index \
-q \
--unmerged \
@@ -883,7 +883,7 @@ proc rescan_stage2 {fd after} {
set buf_rlo {}
set rescan_active 3
- ui_status {Scanning for modified files ...}
+ ui_status [mc "Scanning for modified files ..."]
set fd_di [git_read diff-index --cached -z [PARENT]]
set fd_df [git_read diff-files -z]
set fd_lo [eval git_read ls-files --others -z $ls_others]
@@ -1049,7 +1049,7 @@ proc ui_status {msg} {
}
proc ui_ready {{test {}}} {
- $::main_status show {Ready.} $test
+ $::main_status show [mc "Ready."] $test
}
proc escape_path {path} {
@@ -1400,7 +1400,7 @@ proc incr_font_size {font {amt 1}} {
##
## ui commands
-set starting_gitk_msg {Starting gitk... please wait...}
+set starting_gitk_msg [mc "Starting gitk... please wait..."]
proc do_gitk {revs} {
# -- Always start gitk through whatever we were loaded with. This
@@ -1409,7 +1409,7 @@ proc do_gitk {revs} {
set exe [file join [file dirname $::_git] gitk]
set cmd [list [info nameofexecutable] $exe]
if {! [file exists $exe]} {
- error_popup "Unable to start gitk:\n\n$exe does not exist"
+ error_popup [mc "Unable to start gitk:\n\n%s does not exist" $exe]
} else {
eval exec $cmd $revs &
ui_status $::starting_gitk_msg
@@ -1626,7 +1626,7 @@ proc apply_config {} {
font configure $font $cn $cv
}
} err]} {
- error_popup "Invalid font specified in gui.$name:\n\n$err"
+ error_popup [mc "Invalid font specified in gui.%s:\n\n%s" $name $err]
}
foreach {cn cv} [font configure $font] {
font configure ${font}bold $cn $cv
@@ -1913,7 +1913,7 @@ if {[is_MacOSX]} {
set miga_fd [open "|$cmd" r]
fconfigure $miga_fd -blocking 0
fileevent $miga_fd readable [list miga_done $miga_fd]
- ui_status {Running miga...}
+ ui_status [mc "Running miga..."]
}
proc miga_done {fd} {
read $fd 512
@@ -2469,7 +2469,7 @@ unset ui_diff_applyhunk
#
set main_status [::status_bar::new .status]
pack .status -anchor w -side bottom -fill x
-$main_status show {Initializing...}
+$main_status show [mc "Initializing..."]
# -- Load geometry
#
diff --git a/lib/blame.tcl b/lib/blame.tcl
index 9607284..b5fdad5 100644
--- a/lib/blame.tcl
+++ b/lib/blame.tcl
@@ -74,11 +74,11 @@ constructor new {i_commit i_path} {
set path $i_path
make_toplevel top w
- wm title $top "[appname] ([reponame]): File Viewer"
+ wm title $top [append "[appname] ([reponame]): " [mc "File Viewer"]]
frame $w.header -background gold
label $w.header.commit_l \
- -text {Commit:} \
+ -text [mc "Commit:"] \
-background gold \
-anchor w \
-justify left
@@ -101,7 +101,7 @@ constructor new {i_commit i_path} {
-anchor w \
-justify left
label $w.header.path_l \
- -text {File:} \
+ -text [mc "File:"] \
-background gold \
-anchor w \
-justify left
@@ -246,7 +246,7 @@ constructor new {i_commit i_path} {
menu $w.ctxm -tearoff 0
$w.ctxm add command \
- -label "Copy Commit" \
+ -label [mc "Copy Commit"] \
-command [cb _copycommit]
foreach i $w_columns {
@@ -366,7 +366,7 @@ method _load {jump} {
set amov_data [list [list]]
set asim_data [list [list]]
- $status show "Reading $commit:[escape_path $path]..."
+ $status show [mc "Reading %s..." "$commit:[escape_path $path]"]
$w_path conf -text [escape_path $path]
if {$commit eq {}} {
set fd [open $path r]
diff --git a/lib/branch_checkout.tcl b/lib/branch_checkout.tcl
index 72c45b4..c727437 100644
--- a/lib/branch_checkout.tcl
+++ b/lib/branch_checkout.tcl
@@ -11,20 +11,20 @@ field opt_detach 0; # force a detached head case?
constructor dialog {} {
make_toplevel top w
- wm title $top "[appname] ([reponame]): Checkout Branch"
+ wm title $top [append "[appname] ([reponame]): " [mc "Checkout Branch"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
}
- label $w.header -text {Checkout Branch} -font font_uibold
+ label $w.header -text [mc "Checkout Branch"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.create -text Checkout \
+ button $w.buttons.create -text [mc Checkout] \
-default active \
-command [cb _checkout]
pack $w.buttons.create -side right
- button $w.buttons.cancel -text {Cancel} \
+ button $w.buttons.cancel -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
@@ -33,15 +33,15 @@ constructor dialog {} {
$w_rev bind_listbox <Double-Button-1> [cb _checkout]
pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5
- labelframe $w.options -text {Options}
+ labelframe $w.options -text [mc Options]
checkbutton $w.options.fetch \
- -text {Fetch Tracking Branch} \
+ -text [mc "Fetch Tracking Branch"] \
-variable @opt_fetch
pack $w.options.fetch -anchor nw
checkbutton $w.options.detach \
- -text {Detach From Local Branch} \
+ -text [mc "Detach From Local Branch"] \
-variable @opt_detach
pack $w.options.detach -anchor nw
diff --git a/lib/branch_create.tcl b/lib/branch_create.tcl
index def615d..acfe411 100644
--- a/lib/branch_create.tcl
+++ b/lib/branch_create.tcl
@@ -19,28 +19,28 @@ constructor dialog {} {
global repo_config
make_toplevel top w
- wm title $top "[appname] ([reponame]): Create Branch"
+ wm title $top [append "[appname] ([reponame]): " [mc "Create Branch"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
}
- label $w.header -text {Create New Branch} -font font_uibold
+ label $w.header -text [mc "Create New Branch"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.create -text Create \
+ button $w.buttons.create -text [mc Create] \
-default active \
-command [cb _create]
pack $w.buttons.create -side right
- button $w.buttons.cancel -text {Cancel} \
+ button $w.buttons.cancel -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
- labelframe $w.desc -text {Branch Name}
+ labelframe $w.desc -text [mc "Branch Name"]
radiobutton $w.desc.name_r \
-anchor w \
- -text {Name:} \
+ -text [mc "Name:"] \
-value user \
-variable @name_type
set w_name $w.desc.name_t
@@ -55,7 +55,7 @@ constructor dialog {} {
radiobutton $w.desc.match_r \
-anchor w \
- -text {Match Tracking Branch Name} \
+ -text [mc "Match Tracking Branch Name"] \
-value match \
-variable @name_type
grid $w.desc.match_r -sticky we -padx {0 5} -columnspan 2
@@ -66,35 +66,35 @@ constructor dialog {} {
set w_rev [::choose_rev::new $w.rev {Starting Revision}]
pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5
- labelframe $w.options -text {Options}
+ labelframe $w.options -text [mc Options]
frame $w.options.merge
- label $w.options.merge.l -text {Update Existing Branch:}
+ label $w.options.merge.l -text [mc "Update Existing Branch:"]
pack $w.options.merge.l -side left
radiobutton $w.options.merge.no \
- -text No \
+ -text [mc No] \
-value none \
-variable @opt_merge
pack $w.options.merge.no -side left
radiobutton $w.options.merge.ff \
- -text {Fast Forward Only} \
+ -text [mc "Fast Forward Only"] \
-value ff \
-variable @opt_merge
pack $w.options.merge.ff -side left
radiobutton $w.options.merge.reset \
- -text {Reset} \
+ -text [mc Reset] \
-value reset \
-variable @opt_merge
pack $w.options.merge.reset -side left
pack $w.options.merge -anchor nw
checkbutton $w.options.fetch \
- -text {Fetch Tracking Branch} \
+ -text [mc "Fetch Tracking Branch"] \
-variable @opt_fetch
pack $w.options.fetch -anchor nw
checkbutton $w.options.checkout \
- -text {Checkout After Creation} \
+ -text [mc "Checkout After Creation"] \
-variable @opt_checkout
pack $w.options.checkout -anchor nw
pack $w.options -anchor nw -fill x -pady 5 -padx 5
@@ -128,7 +128,7 @@ method _create {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Please select a tracking branch."
+ -message [mc "Please select a tracking branch."]
return
}
if {![regsub ^refs/heads/ [lindex $spec 2] {} newbranch]} {
@@ -137,7 +137,7 @@ method _create {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Tracking branch [$w get] is not a branch in the remote repository."
+ -message [mc "Tracking branch %s is not a branch in the remote repository." [$w get]]
return
}
}
@@ -150,7 +150,7 @@ method _create {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Please supply a branch name."
+ -message [mc "Please supply a branch name."]
focus $w_name
return
}
@@ -161,7 +161,7 @@ method _create {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "'$newbranch' is not an acceptable branch name."
+ -message [mc "'%s' is not an acceptable branch name." $newbranch]
focus $w_name
return
}
diff --git a/lib/branch_delete.tcl b/lib/branch_delete.tcl
index c7573c6..7ac5f8a 100644
--- a/lib/branch_delete.tcl
+++ b/lib/branch_delete.tcl
@@ -12,29 +12,29 @@ constructor dialog {} {
global current_branch
make_toplevel top w
- wm title $top "[appname] ([reponame]): Delete Branch"
+ wm title $top [append "[appname] ([reponame]): " [mc "Delete Branch"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
}
- label $w.header -text {Delete Local Branch} -font font_uibold
+ label $w.header -text [mc "Delete Local Branch"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
set w_delete $w.buttons.delete
button $w_delete \
- -text Delete \
+ -text [mc Delete] \
-default active \
-state disabled \
-command [cb _delete]
pack $w_delete -side right
button $w.buttons.cancel \
- -text {Cancel} \
+ -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
- labelframe $w.list -text {Local Branches}
+ labelframe $w.list -text [mc "Local Branches"]
set w_heads $w.list.l
listbox $w_heads \
-height 10 \
@@ -49,9 +49,9 @@ constructor dialog {} {
set w_check [choose_rev::new \
$w.check \
- {Delete Only If Merged Into} \
+ [mc "Delete Only If Merged Into"] \
]
- $w_check none {Always (Do not perform merge test.)}
+ $w_check none [mc "Always (Do not perform merge test.)"]
pack $w.check -anchor nw -fill x -pady 5 -padx 5
foreach h [load_all_heads] {
@@ -112,9 +112,7 @@ method _delete {} {
}
if {$to_delete eq {}} return
if {$check_cmt eq {}} {
- set msg {Recovering deleted branches is difficult.
-
-Delete the selected branches?}
+ set msg [mc "Recovering deleted branches is difficult. \n\n Delete the selected branches?"]
if {[tk_messageBox \
-icon warning \
-type yesno \
@@ -140,7 +138,7 @@ Delete the selected branches?}
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Failed to delete branches:\n$failed"
+ -message [mc "Failed to delete branches:\n%s" $failed]
}
destroy $w
diff --git a/lib/branch_rename.tcl b/lib/branch_rename.tcl
index 1cadc31..e8592af 100644
--- a/lib/branch_rename.tcl
+++ b/lib/branch_rename.tcl
@@ -11,7 +11,7 @@ constructor dialog {} {
global current_branch
make_toplevel top w
- wm title $top "[appname] ([reponame]): Rename Branch"
+ wm title $top [append "[appname] ([reponame]): " [mc "Rename Branch"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
}
@@ -19,24 +19,24 @@ constructor dialog {} {
set oldname $current_branch
set newname [get_config gui.newbranchtemplate]
- label $w.header -text {Rename Branch} -font font_uibold
+ label $w.header -text [mc "Rename Branch"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.rename -text Rename \
+ button $w.buttons.rename -text [mc Rename] \
-default active \
-command [cb _rename]
pack $w.buttons.rename -side right
- button $w.buttons.cancel -text {Cancel} \
+ button $w.buttons.cancel -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
frame $w.rename
- label $w.rename.oldname_l -text {Branch:}
+ label $w.rename.oldname_l -text [mc "Branch:"]
eval tk_optionMenu $w.rename.oldname_m @oldname [load_all_heads]
- label $w.rename.newname_l -text {New Name:}
+ label $w.rename.newname_l -text [mc "New Name:"]
entry $w.rename.newname_t \
-borderwidth 1 \
-relief sunken \
@@ -72,7 +72,7 @@ method _rename {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Please select a branch to rename."
+ -message [mc "Please select a branch to rename."]
focus $w.rename.oldname_m
return
}
@@ -83,7 +83,7 @@ method _rename {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Please supply a branch name."
+ -message [mc "Please supply a branch name."]
focus $w.rename.newname_t
return
}
@@ -93,7 +93,7 @@ method _rename {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Branch '$newname' already exists."
+ -message [mc "Branch '%s' already exists." $newname]
focus $w.rename.newname_t
return
}
@@ -103,7 +103,7 @@ method _rename {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "We do not like '$newname' as a branch name."
+ -message [mc "We do not like '%s' as a branch name." $newname]
focus $w.rename.newname_t
return
}
@@ -114,7 +114,7 @@ method _rename {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Failed to rename '$oldname'.\n\n$err"
+ -message [mc "Failed to rename '%s'.\n\n%s" $oldname $err]
return
}
diff --git a/lib/browser.tcl b/lib/browser.tcl
index b684c67..9435e67 100644
--- a/lib/browser.tcl
+++ b/lib/browser.tcl
@@ -7,7 +7,7 @@ field w
field browser_commit
field browser_path
field browser_files {}
-field browser_status {Starting...}
+field browser_status [mc "Starting..."]
field browser_stack {}
field browser_busy 1
@@ -16,7 +16,7 @@ field ls_buf {}; # Buffered record output from ls-tree
constructor new {commit {path {}}} {
global cursor_ptr M1B
make_toplevel top w
- wm title $top "[appname] ([reponame]): File Browser"
+ wm title $top [append "[appname] ([reponame]): " [mc "File Browser"]]
set browser_commit $commit
set browser_path $browser_commit:$path
@@ -117,7 +117,7 @@ method _parent {} {
} else {
regsub {/[^/]+$} $browser_path {} browser_path
}
- set browser_status "Loading $browser_path..."
+ set browser_status [mc "Loading %s..." $browser_path]
_ls $this [lindex $parent 0] [lindex $parent 1]
}
}
@@ -134,7 +134,7 @@ method _enter {} {
tree {
set name [lindex $info 2]
set escn [escape_path $name]
- set browser_status "Loading $escn..."
+ set browser_status [mc "Loading %s..." $escn]
append browser_path $escn
_ls $this [lindex $info 1] $name
}
@@ -178,7 +178,7 @@ method _ls {tree_id {name {}}} {
-align center -padx 5 -pady 1 \
-name icon0 \
-image file_uplevel
- $w insert end {[Up To Parent]}
+ $w insert end [mc "[Up To Parent]"]
lappend browser_files parent
}
lappend browser_stack [list $tree_id $name]
@@ -230,7 +230,7 @@ method _read {fd} {
if {[eof $fd]} {
close $fd
- set browser_status Ready.
+ set browser_status [mc "Ready."]
set browser_busy 0
set ls_buf {}
if {$n > 0} {
@@ -251,22 +251,22 @@ field w_rev ; # mega-widget to pick the initial revision
constructor dialog {} {
make_toplevel top w
- wm title $top "[appname] ([reponame]): Browse Branch Files"
+ wm title $top [append "[appname] ([reponame]): " [mc "Browse Branch Files"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
}
label $w.header \
- -text {Browse Branch Files} \
+ -text [mc "Browse Branch Files"] \
-font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.browse -text Browse \
+ button $w.buttons.browse -text [mc Browse] \
-default active \
-command [cb _open]
pack $w.buttons.browse -side right
- button $w.buttons.cancel -text {Cancel} \
+ button $w.buttons.cancel -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
diff --git a/lib/checkout_op.tcl b/lib/checkout_op.tcl
index 0571115..4b29634 100644
--- a/lib/checkout_op.tcl
+++ b/lib/checkout_op.tcl
@@ -137,7 +137,7 @@ method _finish_fetch {ok} {
destroy $w
set w {}
} else {
- button $w.close -text Close -command [list destroy $w]
+ button $w.close -text [mc Close] -command [list destroy $w]
pack $w.close -side bottom -anchor e -padx 10 -pady 10
}
@@ -166,7 +166,7 @@ method _update_ref {} {
# Assume it does not exist, and that is what the error was.
#
if {!$create} {
- _error $this "Branch '$newbranch' does not exist."
+ _error $this [mc "Branch '%s' does not exist." $newbranch]
return 0
}
@@ -176,7 +176,7 @@ method _update_ref {} {
# We were told to create it, but not do a merge.
# Bad. Name shouldn't have existed.
#
- _error $this "Branch '$newbranch' already exists."
+ _error $this [mc "Branch '%s' already exists." $newbranch]
return 0
} elseif {!$create && $merge_type eq {none}} {
# We aren't creating, it exists and we don't merge.
@@ -202,7 +202,7 @@ method _update_ref {} {
#
set new $cur
} else {
- _error $this "Branch '$newbranch' already exists.\n\nIt cannot fast-forward to $new_expr.\nA merge is required."
+ _error $this [mc "Branch '%s' already exists.\n\nIt cannot fast-forward to %s.\nA merge is required." $newbranch $new_expr]
return 0
}
}
@@ -216,7 +216,7 @@ method _update_ref {} {
}
}
default {
- _error $this "Merge strategy '$merge_type' not supported."
+ _error $this [mc "Merge strategy '%s' not supported." $merge_type]
return 0
}
}
@@ -235,7 +235,7 @@ method _update_ref {} {
if {[catch {
git update-ref -m $reflog_msg $ref $new $cur
} err]} {
- _error $this "Failed to update '$newbranch'.\n\n$err"
+ _error $this [mc "Failed to update '%s'.\n\n%s" $newbranch $err]
return 0
}
}
@@ -247,7 +247,7 @@ method _checkout {} {
if {[lock_index checkout_op]} {
after idle [cb _start_checkout]
} else {
- _error $this "Index is already locked."
+ _error $this [mc "Index is already locked."]
delete_this
}
}
@@ -262,12 +262,12 @@ method _start_checkout {} {
&& $curType eq {normal}
&& $curHEAD eq $HEAD} {
} elseif {$commit_type ne $curType || $HEAD ne $curHEAD} {
- info_popup {Last scanned state does not match repository state.
+ info_popup [mc "Last scanned state does not match repository state.
Another Git program has modified this repository since the last scan. A rescan must be performed before the current branch can be changed.
The rescan will be automatically started now.
-}
+"]
unlock_index
rescan ui_ready
delete_this
@@ -349,12 +349,12 @@ method _readtree_wait {fd} {
if {[catch {close $fd}]} {
set err $readtree_d
regsub {^fatal: } $err {} err
- $::main_status stop "Aborted checkout of '[_name $this]' (file level merging is required)."
- warn_popup "File level merge required.
+ $::main_status stop [mc "Aborted checkout of '%s' (file level merging is required)." [_name $this]]
+ warn_popup [append [mc "File level merge required."] "
$err
-Staying on branch '$current_branch'."
+" [mc "Staying on branch '%s'." $current_branch]]
unlock_index
delete_this
return
@@ -423,9 +423,9 @@ method _after_readtree {} {
}
if {$is_detached} {
- info_popup "You are no longer on a local branch.
+ info_popup [mc "You are no longer on a local branch.
-If you wanted to be on a branch, create one now starting from 'This Detached Checkout'."
+If you wanted to be on a branch, create one now starting from 'This Detached Checkout'."]
}
# -- Update our repository state. If we were previously in
@@ -472,7 +472,7 @@ method _confirm_reset {cur} {
pack [label $w.msg1 \
-anchor w \
-justify left \
- -text "Resetting '$name' to $new_expr will lose the following commits:" \
+ -text [mc "Resetting '%s' to '%s' will lose the following commits:" $name $new_expr]\
] -anchor w
set list $w.list.l
@@ -494,21 +494,21 @@ method _confirm_reset {cur} {
pack [label $w.msg2 \
-anchor w \
-justify left \
- -text {Recovering lost commits may not be easy.} \
+ -text [mc "Recovering lost commits may not be easy."] \
]
pack [label $w.msg3 \
-anchor w \
-justify left \
- -text "Reset '$name'?" \
+ -text [mc "Reset '%s'?" $name] \
]
frame $w.buttons
button $w.buttons.visualize \
- -text Visualize \
+ -text [mc Visualize] \
-command $gitk
pack $w.buttons.visualize -side left
button $w.buttons.reset \
- -text Reset \
+ -text [mc Reset] \
-command "
set @reset_ok 1
destroy $w
@@ -516,7 +516,7 @@ method _confirm_reset {cur} {
pack $w.buttons.reset -side right
button $w.buttons.cancel \
-default active \
- -text Cancel \
+ -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
@@ -572,13 +572,13 @@ method _toplevel {title} {
}
method _fatal {err} {
- error_popup "Failed to set current branch.
+ error_popup [append [mc "Failed to set current branch.
This working directory is only partially switched. We successfully updated your files, but failed to update an internal Git file.
-This should not have occurred. [appname] will now close and give up.
+This should not have occurred. %s will now close and give up." [appname]] "
-$err"
+$err"]
exit 1
}
diff --git a/lib/choose_rev.tcl b/lib/choose_rev.tcl
index 6c4c318..1e82990 100644
--- a/lib/choose_rev.tcl
+++ b/lib/choose_rev.tcl
@@ -32,14 +32,14 @@ constructor new {path {title {}}} {
if {$is_detached} {
radiobutton $w.detachedhead_r \
-anchor w \
- -text {This Detached Checkout} \
+ -text [mc "This Detached Checkout"] \
-value HEAD \
-variable @revtype
grid $w.detachedhead_r -sticky we -padx {0 5} -columnspan 2
}
radiobutton $w.expr_r \
- -text {Revision Expression:} \
+ -text [mc "Revision Expression:"] \
-value expr \
-variable @revtype
entry $w.expr_t \
@@ -53,17 +53,17 @@ constructor new {path {title {}}} {
frame $w.types
radiobutton $w.types.head_r \
- -text {Local Branch} \
+ -text [mc "Local Branch"] \
-value head \
-variable @revtype
pack $w.types.head_r -side left
radiobutton $w.types.trck_r \
- -text {Tracking Branch} \
+ -text [mc "Tracking Branch"] \
-value trck \
-variable @revtype
pack $w.types.trck_r -side left
radiobutton $w.types.tag_r \
- -text {Tag} \
+ -text [mc "Tag"] \
-value tag \
-variable @revtype
pack $w.types.tag_r -side left
@@ -224,7 +224,7 @@ method commit_or_die {} {
}
set top [winfo toplevel $w]
- set msg "Invalid revision: [get $this]\n\n$err"
+ set msg [mc "Invalid revision: %s\n\n%s" [get $this] $err]
tk_messageBox \
-icon error \
-type ok \
@@ -245,7 +245,7 @@ method _expr {} {
if {$i ne {}} {
return [lindex $cur_specs $i 1]
} else {
- error "No revision selected."
+ error [mc "No revision selected."]
}
}
@@ -253,7 +253,7 @@ method _expr {} {
if {$c_expr ne {}} {
return $c_expr
} else {
- error "Revision expression is empty."
+ error [mc "Revision expression is empty."]
}
}
HEAD { return HEAD }
diff --git a/lib/commit.tcl b/lib/commit.tcl
index 6b86f98..f60b11e 100644
--- a/lib/commit.tcl
+++ b/lib/commit.tcl
@@ -6,19 +6,19 @@ proc load_last_commit {} {
global repo_config
if {[llength $PARENT] == 0} {
- error_popup {There is nothing to amend.
+ error_popup [mc "There is nothing to amend.
You are about to create the initial commit. There is no commit before this to amend.
-}
+"]
return
}
repository_state curType curHEAD curMERGE_HEAD
if {$curType eq {merge}} {
- error_popup {Cannot amend while merging.
+ error_popup [mc "Cannot amend while merging.
You are currently in the middle of a merge that has not been fully completed. You cannot amend the prior commit unless you first abort the current merge activity.
-}
+"]
return
}
@@ -46,7 +46,7 @@ You are currently in the middle of a merge that has not been fully completed. Y
}
set msg [string trim $msg]
} err]} {
- error_popup "Error loading commit data for amend:\n\n$err"
+ error_popup [append [mc "Error loading commit data for amend:"] "\n\n$err"]
return
}
@@ -73,12 +73,12 @@ proc committer_ident {} {
if {$GIT_COMMITTER_IDENT eq {}} {
if {[catch {set me [git var GIT_COMMITTER_IDENT]} err]} {
- error_popup "Unable to obtain your identity:\n\n$err"
+ error_popup [append [mc "Unable to obtain your identity:"] "\n\n$err"]
return {}
}
if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \
$me me GIT_COMMITTER_IDENT]} {
- error_popup "Invalid GIT_COMMITTER_IDENT:\n\n$me"
+ error_popup [append [mc "Invalid GIT_COMMITTER_IDENT:"] "\n\n$me"]
return {}
}
}
@@ -130,12 +130,12 @@ proc commit_tree {} {
&& $curType eq {normal}
&& $curHEAD eq $HEAD} {
} elseif {$commit_type ne $curType || $HEAD ne $curHEAD} {
- info_popup {Last scanned state does not match repository state.
+ info_popup [mc "Last scanned state does not match repository state.
Another Git program has modified this repository since the last scan. A rescan must be performed before another commit can be created.
The rescan will be automatically started now.
-}
+"]
unlock_index
rescan ui_ready
return
@@ -151,26 +151,26 @@ The rescan will be automatically started now.
D? -
M? {set files_ready 1}
U? {
- error_popup "Unmerged files cannot be committed.
+ error_popup [mc "Unmerged files cannot be committed.
-File [short_path $path] has merge conflicts. You must resolve them and add the file before committing.
-"
+File %s has merge conflicts. You must resolve them and add the file before committing.
+" [short_path $path]]
unlock_index
return
}
default {
- error_popup "Unknown file state [lindex $s 0] detected.
+ error_popup [mc "Unknown file state %s detected.
-File [short_path $path] cannot be committed by this program.
-"
+File %s cannot be committed by this program.
+" [lindex $s 0] [short_path $path]]
}
}
}
if {!$files_ready && ![string match *merge $curType]} {
- info_popup {No changes to commit.
+ info_popup [mc "No changes to commit.
You must add at least 1 file before you can commit.
-}
+"]
unlock_index
return
}
@@ -180,14 +180,14 @@ You must add at least 1 file before you can commit.
set msg [string trim [$ui_comm get 1.0 end]]
regsub -all -line {[ \t\r]+$} $msg {} msg
if {$msg eq {}} {
- error_popup {Please supply a commit message.
+ error_popup [mc "Please supply a commit message.
A good commit message has the following format:
- First line: Describe in one sentance what you did.
- Second line: Blank
- Remaining lines: Describe why this change is good.
-}
+"]
unlock_index
return
}
@@ -254,7 +254,7 @@ proc commit_committree {fd_wt curHEAD msg} {
gets $fd_wt tree_id
if {$tree_id eq {} || [catch {close $fd_wt} err]} {
- error_popup "write-tree failed:\n\n$err"
+ error_popup [append [mc "write-tree failed:"] "\n\n$err"]
ui_status {Commit failed.}
unlock_index
return
@@ -276,14 +276,14 @@ proc commit_committree {fd_wt curHEAD msg} {
}
if {$tree_id eq $old_tree} {
- info_popup {No changes to commit.
+ info_popup [mc "No changes to commit.
No files were modified by this commit and it was not a merge commit.
A rescan will be automatically started now.
-}
+"]
unlock_index
- rescan {ui_status {No changes to commit.}}
+ rescan {ui_status [mc "No changes to commit."]}
return
}
}
@@ -314,7 +314,7 @@ A rescan will be automatically started now.
}
lappend cmd <$msg_p
if {[catch {set cmt_id [eval git $cmd]} err]} {
- error_popup "commit-tree failed:\n\n$err"
+ error_popup [append [mc "commit-tree failed:"] "\n\n$err"]
ui_status {Commit failed.}
unlock_index
return
@@ -336,7 +336,7 @@ A rescan will be automatically started now.
if {[catch {
git update-ref -m $reflogm HEAD $cmt_id $curHEAD
} err]} {
- error_popup "update-ref failed:\n\n$err"
+ error_popup [append [mc "update-ref failed:"] "\n\n$err"]
ui_status {Commit failed.}
unlock_index
return
@@ -427,5 +427,5 @@ A rescan will be automatically started now.
display_all_files
unlock_index
reshow_diff
- ui_status "Created commit [string range $cmt_id 0 7]: $subject"
+ ui_status [mc "Created commit %s: %s" [string range $cmt_id 0 7] $subject]
}
diff --git a/lib/console.tcl b/lib/console.tcl
index 6f718fb..e5f9ba4 100644
--- a/lib/console.tcl
+++ b/lib/console.tcl
@@ -52,7 +52,7 @@ method _init {} {
-state disabled \
-xscrollcommand [list $w.m.sbx set] \
-yscrollcommand [list $w.m.sby set]
- label $w.m.s -text {Working... please wait...} \
+ label $w.m.s -text [mc "Working... please wait..."] \
-anchor w \
-justify left \
-font font_uibold
@@ -66,11 +66,11 @@ method _init {} {
pack $w.m -side top -fill both -expand 1 -padx 5 -pady 10
menu $w.ctxm -tearoff 0
- $w.ctxm add command -label "Copy" \
+ $w.ctxm add command -label [mc "Copy"] \
-command "tk_textCopy $w.m.t"
- $w.ctxm add command -label "Select All" \
+ $w.ctxm add command -label [mc "Select All"] \
-command "focus $w.m.t;$w.m.t tag add sel 0.0 end"
- $w.ctxm add command -label "Copy All" \
+ $w.ctxm add command -label [mc "Copy All"] \
-command "
$w.m.t tag add sel 0.0 end
tk_textCopy $w.m.t
@@ -78,7 +78,7 @@ method _init {} {
"
if {$is_toplevel} {
- button $w.ok -text {Close} \
+ button $w.ok -text [mc "Close"] \
-state disabled \
-command [list destroy $w]
pack $w.ok -side bottom -anchor e -pady 10 -padx 10
@@ -181,7 +181,7 @@ method insert {txt} {
method done {ok} {
if {$ok} {
if {[winfo exists $w.m.s]} {
- $w.m.s conf -background green -text {Success}
+ $w.m.s conf -background green -text [mc "Success"]
if {$is_toplevel} {
$w.ok conf -state normal
focus $w.ok
@@ -191,7 +191,7 @@ method done {ok} {
if {![winfo exists $w.m.s]} {
_init $this
}
- $w.m.s conf -background red -text {Error: Command Failed}
+ $w.m.s conf -background red -text [mc "Error: Command Failed"]
if {$is_toplevel} {
$w.ok conf -state normal
focus $w.ok
diff --git a/lib/database.tcl b/lib/database.tcl
index 0657cc2..8dda9af 100644
--- a/lib/database.tcl
+++ b/lib/database.tcl
@@ -24,14 +24,14 @@ proc do_stats {} {
toplevel $w
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
- label $w.header -text {Database Statistics}
+ label $w.header -text [mc "Database Statistics"]
pack $w.header -side top -fill x
frame $w.buttons -border 1
- button $w.buttons.close -text Close \
+ button $w.buttons.close -text [mc Close] \
-default active \
-command [list destroy $w]
- button $w.buttons.gc -text {Compress Database} \
+ button $w.buttons.gc -text [mc "Compress Database"] \
-default normal \
-command "destroy $w;do_gc"
pack $w.buttons.close -side right
@@ -40,13 +40,13 @@ proc do_stats {} {
frame $w.stat -borderwidth 1 -relief solid
foreach s {
- {count {Number of loose objects}}
- {size {Disk space used by loose objects} { KiB}}
- {in-pack {Number of packed objects}}
- {packs {Number of packs}}
- {size-pack {Disk space used by packed objects} { KiB}}
- {prune-packable {Packed objects waiting for pruning}}
- {garbage {Garbage files}}
+ {count [mc "Number of loose objects"]}
+ {size [mc "Disk space used by loose objects"] { KiB}}
+ {in-pack [mc "Number of packed objects"]}
+ {packs [mc "Number of packs"]}
+ {size-pack [mc "Disk space used by packed objects"] { KiB}}
+ {prune-packable [mc "Packed objects waiting for pruning"]}
+ {garbage [mc "Garbage files"]}
} {
set name [lindex $s 0]
set label [lindex $s 1]
@@ -64,12 +64,12 @@ proc do_stats {} {
bind $w <Visibility> "grab $w; focus $w.buttons.close"
bind $w <Key-Escape> [list destroy $w]
bind $w <Key-Return> [list destroy $w]
- wm title $w "[appname] ([reponame]): Database Statistics"
+ wm title $w [append "[appname] ([reponame]): " [mc "Database Statistics"]]
tkwait window $w
}
proc do_gc {} {
- set w [console::new {gc} {Compressing the object database}]
+ set w [console::new {gc} [mc "Compressing the object database"]]
console::chain $w {
{exec git pack-refs --prune}
{exec git reflog expire --all}
@@ -80,7 +80,7 @@ proc do_gc {} {
proc do_fsck_objects {} {
set w [console::new {fsck-objects} \
- {Verifying the object database with fsck-objects}]
+ [mc "Verifying the object database with fsck-objects"]]
set cmd [list git fsck-objects]
lappend cmd --full
lappend cmd --cache
diff --git a/lib/diff.tcl b/lib/diff.tcl
index e09e125..d937e46 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
@@ -39,13 +39,13 @@ proc handle_empty_diff {} {
set s $file_states($path)
if {[lindex $s 0] ne {_M}} return
- info_popup "No differences detected.
+ info_popup [mc "No differences detected.
-[short_path $path] has no changes.
+%s has no changes.
The modification date of this file was updated by another application, but the content within the file was not changed.
-A rescan will be automatically started to find other files which may have the same state."
+A rescan will be automatically started to find other files which may have the same state." [short_path $path]]
clear_diff
display_file $path __
@@ -94,7 +94,7 @@ proc show_diff {path w {lno {}}} {
set diff_active 0
unlock_index
ui_status "Unable to display [escape_path $path]"
- error_popup "Error loading file:\n\n$err"
+ error_popup [append [mc "Error loading file:"] "\n\n$err"]
return
}
$ui_diff conf -state normal
@@ -159,7 +159,7 @@ proc show_diff {path w {lno {}}} {
set diff_active 0
unlock_index
ui_status "Unable to display [escape_path $path]"
- error_popup "Error loading diff:\n\n$err"
+ error_popup [append [mc "Error loading diff:"] "\n\n$err"]
return
}
@@ -307,7 +307,7 @@ proc apply_hunk {x y} {
puts -nonewline $p $current_diff_header
puts -nonewline $p [$ui_diff get $s_lno $e_lno]
close $p} err]} {
- error_popup "Failed to $mode selected hunk.\n\n$err"
+ error_popup [append [mc "Failed to %s selected hunk." $mode] "\n\n$err"]
unlock_index
return
}
diff --git a/lib/error.tcl b/lib/error.tcl
index 16a2218..13565b7 100644
--- a/lib/error.tcl
+++ b/lib/error.tcl
@@ -9,7 +9,7 @@ proc error_popup {msg} {
set cmd [list tk_messageBox \
-icon error \
-type ok \
- -title "$title: error" \
+ -title [append "$title: " [mc "error"]] \
-message $msg]
if {[winfo ismapped .]} {
lappend cmd -parent .
@@ -25,7 +25,7 @@ proc warn_popup {msg} {
set cmd [list tk_messageBox \
-icon warning \
-type ok \
- -title "$title: warning" \
+ -title [append "$title: " [mc "warning"]] \
-message $msg]
if {[winfo ismapped .]} {
lappend cmd -parent .
@@ -78,7 +78,7 @@ proc hook_failed_popup {hook msg} {
-font font_diff \
-yscrollcommand [list $w.m.sby set]
label $w.m.l2 \
- -text {You must correct the above errors before committing.} \
+ -text [mc "You must correct the above errors before committing."] \
-anchor w \
-justify left \
-font font_uibold
@@ -99,6 +99,6 @@ proc hook_failed_popup {hook msg} {
bind $w <Visibility> "grab $w; focus $w"
bind $w <Key-Return> "destroy $w"
- wm title $w "[appname] ([reponame]): error"
+ wm title $w [append "[appname] ([reponame]): " [mc "error"]]
tkwait window $w
}
diff --git a/lib/index.tcl b/lib/index.tcl
index 3ea72e1..9080ac6 100644
--- a/lib/index.tcl
+++ b/lib/index.tcl
@@ -358,13 +358,13 @@ proc revert_helper {txt paths} {
set reply [tk_dialog \
.confirm_revert \
"[appname] ([reponame])" \
- "Revert changes in $s?
+ [mc "Revert changes in %s?
-Any unadded changes will be permanently lost by the revert." \
+Any unadded changes will be permanently lost by the revert." $s] \
question \
1 \
- {Do Nothing} \
- {Revert Changes} \
+ [mc "Do Nothing"] \
+ [mc "Revert Changes"] \
]
if {$reply == 1} {
checkout_index \
diff --git a/lib/merge.tcl b/lib/merge.tcl
index e5a7525..40e82a9 100644
--- a/lib/merge.tcl
+++ b/lib/merge.tcl
@@ -11,10 +11,10 @@ method _can_merge {} {
global HEAD commit_type file_states
if {[string match amend* $commit_type]} {
- info_popup {Cannot merge while amending.
+ info_popup [mc "Cannot merge while amending.
You must finish amending this commit before starting any type of merge.
-}
+"]
return 0
}
@@ -25,12 +25,12 @@ You must finish amending this commit before starting any type of merge.
#
repository_state curType curHEAD curMERGE_HEAD
if {$commit_type ne $curType || $HEAD ne $curHEAD} {
- info_popup {Last scanned state does not match repository state.
+ info_popup [mc "Last scanned state does not match repository state.
Another Git program has modified this repository since the last scan. A rescan must be performed before a merge can be performed.
The rescan will be automatically started now.
-}
+"]
unlock_index
rescan ui_ready
return 0
@@ -42,22 +42,22 @@ The rescan will be automatically started now.
continue; # and pray it works!
}
U? {
- error_popup "You are in the middle of a conflicted merge.
+ error_popup [mc "You are in the middle of a conflicted merge.
-File [short_path $path] has merge conflicts.
+File %s has merge conflicts.
You must resolve them, add the file, and commit to complete the current merge. Only then can you begin another merge.
-"
+" [short_path $path]]
unlock_index
return 0
}
?? {
- error_popup "You are in the middle of a change.
+ error_popup [mc "You are in the middle of a change.
-File [short_path $path] is modified.
+File %s is modified.
You should complete the current commit before starting a merge. Doing so will help you abort a failed merge, should the need arise.
-"
+" [short_path $path]]
unlock_index
return 0
}
@@ -91,9 +91,9 @@ method _start {} {
}
set cmd [list git merge $name]
- set msg "Merging $current_branch and $name"
+ set msg [mc "Merging %s and %s" $current_branch $name]
ui_status "$msg..."
- set cons [console::new "Merge" $cmd]
+ set cons [console::new [mc "Merge"] $cmd]
console::exec $cons $cmd [cb _finish $cons]
wm protocol $w WM_DELETE_WINDOW {}
@@ -103,9 +103,9 @@ method _start {} {
method _finish {cons ok} {
console::done $cons $ok
if {$ok} {
- set msg {Merge completed successfully.}
+ set msg [mc "Merge completed successfully."]
} else {
- set msg {Merge failed. Conflict resolution is required.}
+ set msg [mc "Merge failed. Conflict resolution is required."]
}
unlock_index
rescan [list ui_status $msg]
@@ -154,7 +154,7 @@ constructor dialog {} {
set list [lsort -unique $list]
make_toplevel top w
- wm title $top "[appname] ([reponame]): Merge"
+ wm title $top [append "[appname] ([reponame]): " [mc "Merge"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
}
@@ -163,22 +163,22 @@ constructor dialog {} {
set _start [cb _start]
label $w.header \
- -text "Merge Into $current_branch" \
+ -text [mc "Merge Into %s" $current_branch] \
-font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.visualize -text Visualize -command $_visualize
+ button $w.buttons.visualize -text [mc Visualize] -command $_visualize
pack $w.buttons.visualize -side left
- button $w.buttons.create -text Merge -command $_start
+ button $w.buttons.create -text [mc Merge] -command $_start
pack $w.buttons.create -side right
button $w.buttons.cancel \
- -text {Cancel} \
+ -text [mc "Cancel"] \
-command [cb _cancel]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
- labelframe $w.source -text {Source Branches}
+ labelframe $w.source -text [mc "Source Branches"]
set w_list $w.source.l
listbox $w_list \
-height 10 \
@@ -237,30 +237,34 @@ proc reset_hard {} {
global HEAD commit_type file_states
if {[string match amend* $commit_type]} {
- info_popup {Cannot abort while amending.
+ info_popup [mc "Cannot abort while amending.
You must finish amending this commit.
-}
+"]
return
}
if {![lock_index abort]} return
if {[string match *merge* $commit_type]} {
- set op merge
+ set op_question [mc "Abort merge?
+
+Aborting the current merge will cause *ALL* uncommitted changes to be lost.
+
+Continue with aborting the current merge?"]
} else {
- set op commit
- }
+ set op_question [mc "Abort commit?
- if {[ask_popup "Abort $op?
+Aborting the current commit will cause *ALL* uncommitted changes to be lost.
-Aborting the current $op will cause *ALL* uncommitted changes to be lost.
+Continue with aborting the current commit?"]
+ }
-Continue with aborting the current $op?"] eq {yes}} {
+ if {[ask_popup $op_question] eq {yes}} {
set fd [git_read read-tree --reset -u HEAD]
fconfigure $fd -blocking 0 -translation binary
fileevent $fd readable [namespace code [list _reset_wait $fd]]
- ui_status {Aborting... please wait...}
+ ui_status [mc "Aborting... please wait..."]
} else {
unlock_index
}
@@ -283,7 +287,7 @@ proc _reset_wait {fd} {
catch {file delete [gitdir MERGE_MSG]}
catch {file delete [gitdir GITGUI_MSG]}
- rescan {ui_status {Abort completed. Ready.}}
+ rescan {ui_status [mc "Abort completed. Ready."]}
}
}
diff --git a/lib/option.tcl b/lib/option.tcl
index aa9f783..6c4d7ae 100644
--- a/lib/option.tcl
+++ b/lib/option.tcl
@@ -62,7 +62,7 @@ proc do_about {} {
toplevel $w
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
- label $w.header -text "About [appname]" \
+ label $w.header -text [mc "About %s" [appname]] \
-font font_uibold
pack $w.header -side top -fill x
@@ -74,8 +74,8 @@ proc do_about {} {
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
label $w.desc \
- -text "git-gui - a graphical user interface for Git.
-$copyright" \
+ -text [append [mc "git-gui - a graphical user interface for Git."] "
+$copyright"] \
-padx 5 -pady 5 \
-justify left \
-anchor w \
@@ -157,44 +157,44 @@ proc do_options {} {
toplevel $w
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
- label $w.header -text "Options" \
+ label $w.header -text [mc "Options"] \
-font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.restore -text {Restore Defaults} \
+ button $w.buttons.restore -text [mc "Restore Defaults"] \
-default normal \
-command do_restore_defaults
pack $w.buttons.restore -side left
- button $w.buttons.save -text Save \
+ button $w.buttons.save -text [mc Save] \
-default active \
-command [list do_save_config $w]
pack $w.buttons.save -side right
- button $w.buttons.cancel -text {Cancel} \
+ button $w.buttons.cancel -text [mc "Cancel"] \
-default normal \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
- labelframe $w.repo -text "[reponame] Repository"
- labelframe $w.global -text {Global (All Repositories)}
+ labelframe $w.repo -text [mc "%s Repository" [reponame]]
+ labelframe $w.global -text [mc "Global (All Repositories)"]
pack $w.repo -side left -fill both -expand 1 -pady 5 -padx 5
pack $w.global -side right -fill both -expand 1 -pady 5 -padx 5
set optid 0
foreach option {
- {t user.name {User Name}}
- {t user.email {Email Address}}
-
- {b merge.summary {Summarize Merge Commits}}
- {i-1..5 merge.verbosity {Merge Verbosity}}
- {b merge.diffstat {Show Diffstat After Merge}}
-
- {b gui.trustmtime {Trust File Modification Timestamps}}
- {b gui.pruneduringfetch {Prune Tracking Branches During Fetch}}
- {b gui.matchtrackingbranch {Match Tracking Branches}}
- {i-0..99 gui.diffcontext {Number of Diff Context Lines}}
- {t gui.newbranchtemplate {New Branch Name Template}}
+ {t user.name [mc "User Name"]}
+ {t user.email [mc "Email Address"]}
+
+ {b merge.summary [mc "Summarize Merge Commits"]}
+ {i-1..5 merge.verbosity [mc "Merge Verbosity"]}
+ {b merge.diffstat [mc "Show Diffstat After Merge"]}
+
+ {b gui.trustmtime [mc "Trust File Modification Timestamps"]}
+ {b gui.pruneduringfetch [mc "Prune Tracking Branches During Fetch"]}
+ {b gui.matchtrackingbranch [mc "Match Tracking Branches"]}
+ {i-0..99 gui.diffcontext [mc "Number of Diff Context Lines"]}
+ {t gui.newbranchtemplate [mc "New Branch Name Template"]}
} {
set type [lindex $option 0]
set name [lindex $option 1]
@@ -272,7 +272,7 @@ proc do_options {} {
bind $w <Visibility> "grab $w; focus $w.buttons.save"
bind $w <Key-Escape> "destroy $w"
bind $w <Key-Return> [list do_save_config $w]
- wm title $w "[appname] ([reponame]): Options"
+ wm title $w [append "[appname] ([reponame]): " [mc "Options"]]
tkwait window $w
}
@@ -303,7 +303,7 @@ proc do_restore_defaults {} {
proc do_save_config {w} {
if {[catch {save_config} err]} {
- error_popup "Failed to completely save options:\n\n$err"
+ error_popup [append [mc "Failed to completely save options:"] "\n\n$err"]
}
reshow_diff
destroy $w
diff --git a/lib/remote.tcl b/lib/remote.tcl
index e235ca8..c47ae50 100644
--- a/lib/remote.tcl
+++ b/lib/remote.tcl
@@ -163,7 +163,7 @@ proc populate_fetch_menu {} {
}
foreach r $prune_list {
$m add command \
- -label "Prune from $r..." \
+ -label [mc "Prune from %s..." $r] \
-command [list prune_from $r]
}
}
@@ -197,7 +197,7 @@ proc populate_push_menu {} {
$m add separator
}
$m add command \
- -label "Push to $r..." \
+ -label [mc "Push to %s..." $r] \
-command [list push_to $r]
incr fast_count
}
diff --git a/lib/remote_branch_delete.tcl b/lib/remote_branch_delete.tcl
index c88a360..06b5eab 100644
--- a/lib/remote_branch_delete.tcl
+++ b/lib/remote_branch_delete.tcl
@@ -26,28 +26,28 @@ constructor dialog {} {
global all_remotes M1B
make_toplevel top w
- wm title $top "[appname] ([reponame]): Delete Remote Branch"
+ wm title $top [append "[appname] ([reponame]): " [mc "Delete Remote Branch"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
}
- label $w.header -text {Delete Remote Branch} -font font_uibold
+ label $w.header -text [mc "Delete Remote Branch"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.delete -text Delete \
+ button $w.buttons.delete -text [mc Delete] \
-default active \
-command [cb _delete]
pack $w.buttons.delete -side right
- button $w.buttons.cancel -text {Cancel} \
+ button $w.buttons.cancel -text [mc "Cancel"] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
- labelframe $w.dest -text {From Repository}
+ labelframe $w.dest -text [mc "From Repository"]
if {$all_remotes ne {}} {
radiobutton $w.dest.remote_r \
- -text {Remote:} \
+ -text [mc "Remote:"] \
-value remote \
-variable @urltype
eval tk_optionMenu $w.dest.remote_m @remote $all_remotes
@@ -63,7 +63,7 @@ constructor dialog {} {
set urltype url
}
radiobutton $w.dest.url_r \
- -text {Arbitrary URL:} \
+ -text [mc "Arbitrary URL:"] \
-value url \
-variable @urltype
entry $w.dest.url_t \
@@ -81,7 +81,7 @@ constructor dialog {} {
grid columnconfigure $w.dest 1 -weight 1
pack $w.dest -anchor nw -fill x -pady 5 -padx 5
- labelframe $w.heads -text {Branches}
+ labelframe $w.heads -text [mc "Branches"]
listbox $w.heads.l \
-height 10 \
-width 70 \
@@ -96,7 +96,7 @@ constructor dialog {} {
-anchor w \
-justify left
button $w.heads.footer.rescan \
- -text {Rescan} \
+ -text [mc "Rescan"] \
-command [cb _rescan]
pack $w.heads.footer.status -side left -fill x
pack $w.heads.footer.rescan -side right
@@ -106,9 +106,9 @@ constructor dialog {} {
pack $w.heads.l -side left -fill both -expand 1
pack $w.heads -fill both -expand 1 -pady 5 -padx 5
- labelframe $w.validate -text {Delete Only If}
+ labelframe $w.validate -text [mc "Delete Only If"]
radiobutton $w.validate.head_r \
- -text {Merged Into:} \
+ -text [mc "Merged Into:"] \
-value head \
-variable @checktype
set head_m [tk_optionMenu $w.validate.head_m @check_head {}]
@@ -116,7 +116,7 @@ constructor dialog {} {
trace add variable @check_head write [cb _write_check_head]
grid $w.validate.head_r $w.validate.head_m -sticky w
radiobutton $w.validate.always_r \
- -text {Always (Do not perform merge checks)} \
+ -text [mc "Always (Do not perform merge checks)"] \
-value always \
-variable @checktype
grid $w.validate.always_r -columnspan 2 -sticky w
@@ -149,7 +149,7 @@ method _delete {} {
-type ok \
-title [wm title $w] \
-parent $w \
- -message "A branch is required for 'Merged Into'."
+ -message [mc "A branch is required for 'Merged Into'."]
return
}
set crev $full_cache("$cache\nrefs/heads/$check_head")
@@ -186,9 +186,7 @@ method _delete {} {
- [join $not_merged "\n - "]"
if {$need_fetch} {
- append msg "
-
-One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from $uri first."
+ append msg "\n\n" [mc "One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from %s first." $uri]
}
tk_messageBox \
@@ -206,7 +204,7 @@ One or more of the merge tests failed because you have not fetched the necessary
-type ok \
-title [wm title $w] \
-parent $w \
- -message "Please select one or more branches to delete."
+ -message [mc "Please select one or more branches to delete."]
return
}
@@ -215,9 +213,9 @@ One or more of the merge tests failed because you have not fetched the necessary
-type yesno \
-title [wm title $w] \
-parent $w \
- -message {Recovering deleted branches is difficult.
+ -message [mc "Recovering deleted branches is difficult.
-Delete the selected branches?}] ne yes} {
+Delete the selected branches?"]] ne yes} {
return
}
@@ -225,7 +223,7 @@ Delete the selected branches?}] ne yes} {
set cons [console::new \
"push $uri" \
- "Deleting branches from $uri"]
+ [mc "Deleting branches from %s" $uri]]
console::exec $cons $push_cmd
}
@@ -285,12 +283,12 @@ method _load {cache uri} {
$w.heads.l conf -state disabled
set head_list [list]
set full_list [list]
- set status {No repository selected.}
+ set status [mc "No repository selected."]
return
}
if {[catch {set x $cached($cache)}]} {
- set status "Scanning $uri..."
+ set status [mc "Scanning %s..." $uri]
$w.heads.l conf -state disabled
set head_list [list]
set full_list [list]
diff --git a/lib/shortcut.tcl b/lib/shortcut.tcl
index c36be2f..d0e63a3 100644
--- a/lib/shortcut.tcl
+++ b/lib/shortcut.tcl
@@ -6,7 +6,7 @@ proc do_windows_shortcut {} {
set fn [tk_getSaveFile \
-parent . \
- -title "[appname] ([reponame]): Create Desktop Icon" \
+ -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
-initialfile "Git [reponame].bat"]
if {$fn != {}} {
if {[file extension $fn] ne {.bat}} {
@@ -23,7 +23,7 @@ proc do_windows_shortcut {} {
puts $fd " \"[file normalize $argv0]\""
close $fd
} err]} {
- error_popup "Cannot write script:\n\n$err"
+ error_popup [append [mc "Cannot write script:"] "\n\n$err"]
}
}
}
@@ -42,7 +42,7 @@ proc do_cygwin_shortcut {} {
}
set fn [tk_getSaveFile \
-parent . \
- -title "[appname] ([reponame]): Create Desktop Icon" \
+ -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
-initialdir $desktop \
-initialfile "Git [reponame].bat"]
if {$fn != {}} {
@@ -71,7 +71,7 @@ proc do_cygwin_shortcut {} {
puts $fd " &\""
close $fd
} err]} {
- error_popup "Cannot write script:\n\n$err"
+ error_popup [append [mc "Cannot write script:"] "\n\n$err"]
}
}
}
@@ -81,7 +81,7 @@ proc do_macosx_app {} {
set fn [tk_getSaveFile \
-parent . \
- -title "[appname] ([reponame]): Create Desktop Icon" \
+ -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
-initialdir [file join $env(HOME) Desktop] \
-initialfile "Git [reponame].app"]
if {$fn != {}} {
@@ -146,7 +146,7 @@ proc do_macosx_app {} {
file attributes $exe -permissions u+x,g+x,o+x
} err]} {
- error_popup "Cannot write icon:\n\n$err"
+ error_popup [append [mc "Cannot write icon:"] "\n\n$err"]
}
}
}
diff --git a/lib/status_bar.tcl b/lib/status_bar.tcl
index 72a8fe1..769ef81 100644
--- a/lib/status_bar.tcl
+++ b/lib/status_bar.tcl
@@ -55,7 +55,7 @@ method update {have total} {
set pdone [expr {100 * $have / $total}]
}
- set status [format "%s ... %i of %i %s (%2i%%)" \
+ set status [mc "%s ... %i of %i %s (%2i%%)" \
$prefix $have $total $units $pdone]
$w_c coords bar 0 0 $pdone 20
}
diff --git a/lib/transport.tcl b/lib/transport.tcl
index 3a22bd4..1c7baef 100644
--- a/lib/transport.tcl
+++ b/lib/transport.tcl
@@ -4,7 +4,7 @@
proc fetch_from {remote} {
set w [console::new \
"fetch $remote" \
- "Fetching new changes from $remote"]
+ [mc "Fetching new changes from %s" $remote]]
set cmds [list]
lappend cmds [list exec git fetch $remote]
if {[is_config_true gui.pruneduringfetch]} {
@@ -16,14 +16,14 @@ proc fetch_from {remote} {
proc prune_from {remote} {
set w [console::new \
"remote prune $remote" \
- "Pruning tracking branches deleted from $remote"]
+ [mc "Pruning tracking branches deleted from %s" $remote]]
console::exec $w [list git remote prune $remote]
}
proc push_to {remote} {
set w [console::new \
"push $remote" \
- "Pushing changes to $remote"]
+ [mc "Pushing changes to %s" $remote]]
set cmd [list git push]
lappend cmd -v
lappend cmd $remote
@@ -65,7 +65,7 @@ proc start_push_anywhere_action {w} {
set cons [console::new \
"push $r_url" \
- "Pushing $cnt $unit to $r_url"]
+ [mc "Pushing %s %s to %s" $cnt $unit $r_url]]
console::exec $cons $cmd
destroy $w
}
@@ -81,21 +81,21 @@ proc do_push_anywhere {} {
toplevel $w
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
- label $w.header -text {Push Branches} -font font_uibold
+ label $w.header -text [mc "Push Branches"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
- button $w.buttons.create -text Push \
+ button $w.buttons.create -text [mc Push] \
-default active \
-command [list start_push_anywhere_action $w]
pack $w.buttons.create -side right
- button $w.buttons.cancel -text {Cancel} \
+ button $w.buttons.cancel -text [mc "Cancel"] \
-default normal \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
- labelframe $w.source -text {Source Branches}
+ labelframe $w.source -text [mc "Source Branches"]
listbox $w.source.l \
-height 10 \
-width 70 \
@@ -112,10 +112,10 @@ proc do_push_anywhere {} {
pack $w.source.l -side left -fill both -expand 1
pack $w.source -fill both -expand 1 -pady 5 -padx 5
- labelframe $w.dest -text {Destination Repository}
+ labelframe $w.dest -text [mc "Destination Repository"]
if {$all_remotes ne {}} {
radiobutton $w.dest.remote_r \
- -text {Remote:} \
+ -text [mc "Remote:"] \
-value remote \
-variable push_urltype
eval tk_optionMenu $w.dest.remote_m push_remote $all_remotes
@@ -130,7 +130,7 @@ proc do_push_anywhere {} {
set push_urltype url
}
radiobutton $w.dest.url_r \
- -text {Arbitrary URL:} \
+ -text [mc "Arbitrary URL:"] \
-value url \
-variable push_urltype
entry $w.dest.url_t \
@@ -150,13 +150,13 @@ proc do_push_anywhere {} {
grid columnconfigure $w.dest 1 -weight 1
pack $w.dest -anchor nw -fill x -pady 5 -padx 5
- labelframe $w.options -text {Transfer Options}
+ labelframe $w.options -text [mc "Transfer Options"]
checkbutton $w.options.thin \
- -text {Use thin pack (for slow network connections)} \
+ -text [mc "Use thin pack (for slow network connections)"] \
-variable push_thin
grid $w.options.thin -columnspan 2 -sticky w
checkbutton $w.options.tags \
- -text {Include tags} \
+ -text [mc "Include tags"] \
-variable push_tags
grid $w.options.tags -columnspan 2 -sticky w
grid columnconfigure $w.options 1 -weight 1
@@ -169,6 +169,6 @@ proc do_push_anywhere {} {
bind $w <Visibility> "grab $w; focus $w.buttons.create"
bind $w <Key-Escape> "destroy $w"
bind $w <Key-Return> [list start_push_anywhere_action $w]
- wm title $w "[appname] ([reponame]): Push"
+ wm title $w [append "[appname] ([reponame]): " [mc "Push"]]
tkwait window $w
}
--
1.5.2.3
^ permalink raw reply related
* Re: [PATCH 1/5] Internationalization of git-gui
From: Christian Stimming @ 2007-07-23 19:23 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Brett Schwarz, git, Paul Mackerras
In-Reply-To: <20070722073806.GW32566@spearce.org>
Am Sonntag, 22. Juli 2007 09:38 schrieb Shawn O. Pearce:
> > +## Internationalization (i18n) through msgcat and gettext. See
> > +## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html
> > +package require msgcat
> > +::msgcat::mcload [file join $oguilib msgs]
> > +namespace import ::msgcat::mc
>
> Thanks. We'll probably also want to modify the lib/class.tcl to
> import ::msgcat::mc into the class namespace when it creates it.
> I use that class thing throught most of git-gui, especially for
> UI code. About 50% of git-gui has been converted to use class,
> the other 50% is just global and is still in git-gui.sh. ;-)
As I was adding the markup in all the other files, I didn't have to add
another import statement anywhere else. Seems like the global mc procedure
works just fine.
In other words, if you think the mc procedure should be imported in another
place as well, please do so because I don't know your future plans with class
structure (and I also don't need to know for adding the i18n support right
now).
Thanks,
Christian
^ permalink raw reply
* Re: German translations
From: Christian Stimming @ 2007-07-23 19:20 UTC (permalink / raw)
To: Edgar Toernig; +Cc: David Kastrup, git
In-Reply-To: <20070722165232.30e01005.froese@gmx.de>
Am Sonntag, 22. Juli 2007 16:52 schrieb Edgar Toernig:
> > >> > +msgid "Commit"
> > >> > +msgstr "Übertragen"
> > >>
> > >> Einpflegen ist als Verb gebräuchlich, aber dann ist es schwer, ein
> > >> passendes Substantiv zu finden. "Sendung"?
> >
> > Ich habe was: Einspielen, Ausspielen, Einspielung, Ausspielung.
>
> Das ist genau der Grund, warum ich normalerweise keine deutschen
> Lokalisierungen benutze - total unverstaendlicher Kauderwelsch.
>
> Denkt doch bitte mal an die Zielgruppe!
Ja, genau das sag ich doch.
> Das sind Techniker, keine
> Grossmuetter. Ihr duerft Fachvokabular benutzen! Und gerade hier
> wird die Zielgruppe schon englische Dokumentation gelesen haben.
Nein. Die Zielgruppe der deutschen Übersetzung sind jene Techniker, die
partout mit Englisch auf Kriegsfuß stehen. Jaja, solche gibt es. Und für
solche muss man überlegen, ob es deutsche Begriffe gibt, die man in der
gleichen Bedeutung verwenden kann. Das geht nicht so spontan - also bitte
erstmal abwarten und selber überlegen. Die englischen Begriffe sind als
fallback immer noch möglich, aber erstmal wird überlegt.
Ich bin auch für Anregungen dankbar, wie andere Übersetzer das denn gelöst
haben. Das erwähnte TortoiseSVN mit einer IMHO gelungenen deutschen Doku hat
commit=übertragen gewählt, ist aber bei checkout=auschecken geblieben. Die
anderen SVN-Clients, bei denen man einen deutsche Übersetzung sehen kann,
bieten da leider nur mindere Qualität und haben praktisch sämtliche
Schlüsselworte auf Englisch gelassen.
> Solch zwanghaft eingedeutschten Begriffe verwirren da nur.
> Also sagt doch bitte einfach "der Commit" und "comitten" wie es
> jeder Techniker macht. Ihr duerft auch "das Repository", "der
> Index" und mMn auch ruhig "der Branch" benutzen.
Nein. Wenn dir diese englischen Begriffe lieber sind, dann bleib gerne bei
LANG=C bzw. en und fertig. Hier wird erstmal diskutiert, ob sich nicht doch
deutsche Begriffe finden lassen. Es ist ja nicht so, als ob hier das
allererste Mal ein SCM auf deutsch erklärt werden müsste.
> Verstaendlichkeit, Klarheit, Exaktheit - das ist das oberste Ziel!
- der deutschen Übersetzung, richtig! Wer das mit den englischen Begriffen
erreichen will, bleibt bei LANG=C.
> PS: bzgl. "Sign Off": "Gutheißen" ist zu lasch - das entspricht
> dem Ack'ed-by.
Ich finde da den Vorschlag "abzeichnen" bisher am besten.
Gruß
Christian
^ permalink raw reply
* Re: Git tree for old kernels from before the current tree
From: Nicolas Pitre @ 2007-07-23 19:08 UTC (permalink / raw)
To: Theodore Tso
Cc: Linus Torvalds, H. Peter Anvin, Jan Engelhardt, Paul Mundt,
Jon Smirl, Git Mailing List, lkml
In-Reply-To: <20070723185732.GB30165@thunk.org>
On Mon, 23 Jul 2007, Theodore Tso wrote:
> On Mon, Jul 23, 2007 at 09:55:24AM -0700, Linus Torvalds wrote:
> >
> > I actually tried to get something like this together back in the BK days
> > and early in the SCO saga. It was pretty painful to try to find all the
> > historic trees and patches - they're all in different format, and some of
> > them are unreliable (ie CVS imports by people like Ted).
>
> Um, *I* never had the bad taste to import Linux kernels into CVS. :-)
>
> I'm pretty sure we never had anything like that on tsx-11.mit.edu, either.
Well, I remember having to clean up some of the source archives I've
found which contained CVS directories. Can't tell which one anymore,
but they were amongst the oldest ones.
Nicolas
^ permalink raw reply
* Re: Git tree for old kernels from before the current tree
From: Nicolas Pitre @ 2007-07-23 19:06 UTC (permalink / raw)
To: Linus Torvalds
Cc: H. Peter Anvin, Jan Engelhardt, Paul Mundt, Jon Smirl,
Git Mailing List, lkml
In-Reply-To: <alpine.LFD.0.999.0707231057480.3607@woody.linux-foundation.org>
On Mon, 23 Jul 2007, Linus Torvalds wrote:
>
>
> On Mon, 23 Jul 2007, Nicolas Pitre wrote:
> >
> > I started this once.
> >
> > I have (sort of) a GIT tree with all Linux revisions that I could find
> > from v0.01 up to v1.0.9. But the most interesting information and also
> > what is the most time consuming is the retrieval of announcement
> > messages for those releases in old mailing list or newsgroup archives to
> > serve as commit log data. It seems to be even arder to find for post
> > v1.0 releases.
>
> Yes, I agree. Google finds some of them, but (a) I was never very good
> about announcements anyway and (b) there's nothing really good to search
> for, so it's very hit-and-miss.
>
> Some of the really early release notes are easy to find, just because I
> made them available with the sources, but mostly I'd just have posten to
> the newsgroup/mailing lists.
That's what I used when available, especially to properly time stamp
those commits. Using the latest date on files included in the archive
isn't always reliable.
OK so actually what I have is from v0.01 up to v1.0 creating 93 commits.
What is missing is:
- v0.02 sources
- v0.10 announcement
- v0.96 sources
- v0.99.12 announcement
- sources for v0.99.13{abcdefghij} (got k, don't know where the serie
ends) as well as announcements for all of them
- all announcements for v0.99.14{a-z} except for pl14r
- announcements for pl15c to pl15j, 1.0-pre1, and ALPHA-1.0.
Otherwise the archive appears fairly complete with almost 3 years of
Linux development history captured in a 3MB pack file.
Nicolas
^ permalink raw reply
* Re: Git tree for old kernels from before the current tree
From: Theodore Tso @ 2007-07-23 18:57 UTC (permalink / raw)
To: Linus Torvalds
Cc: H. Peter Anvin, Jan Engelhardt, Paul Mundt, Jon Smirl,
Git Mailing List, lkml
In-Reply-To: <alpine.LFD.0.999.0707230950340.3607@woody.linux-foundation.org>
On Mon, Jul 23, 2007 at 09:55:24AM -0700, Linus Torvalds wrote:
>
> I actually tried to get something like this together back in the BK days
> and early in the SCO saga. It was pretty painful to try to find all the
> historic trees and patches - they're all in different format, and some of
> them are unreliable (ie CVS imports by people like Ted).
Um, *I* never had the bad taste to import Linux kernels into CVS. :-)
I'm pretty sure we never had anything like that on tsx-11.mit.edu, either.
- Ted
^ 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