* Re: [PATCH] Makefile: do not set setgid bit on directories on GNU/kFreeBSD
From: Junio C Hamano @ 2011-10-03 19:16 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git, Petr Salinger
In-Reply-To: <20111003071949.GC17289@elie>
Jonathan Nieder <jrnieder@gmail.com> writes:
> Jonathan Nieder wrote:
>
>> Since the setgid bit would only mean "do what you were going to do
>> already", it's better to avoid setting it. Accordingly, ever since
>> v1.5.5-rc0~59^2 (Do not use GUID on dir in git init --share=all on
>> FreeBSD, 2008-03-05), git on true FreeBSD has done exactly that. Set
>> DIR_HAS_BSD_GROUP_SEMANTICS in the makefile for GNU/kFreeBSD, too, so
>> machines that use glibc with the kernel of FreeBSD get the same fix.
> [...]
>> Sorry to have taken so long to send this one out. Anyway, it seems
>> to me like the right thing to do. Petr, what do you think?
>
> fwiw:
>
> Acked-by: Petr Salinger <Petr.Salinger@seznam.cz>
>
> Thanks for looking it over.
Sorry, this is very confusing. Are JN and PS one and the same person?
^ permalink raw reply
* Re: [PATCH] Makefile: do not set setgid bit on directories on GNU/kFreeBSD
From: Sverre Rabbelier @ 2011-10-03 19:19 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Jonathan Nieder, git, Petr Salinger
In-Reply-To: <7vlit1ga2l.fsf@alter.siamese.dyndns.org>
Heya,
On Mon, Oct 3, 2011 at 21:16, Junio C Hamano <gitster@pobox.com> wrote:
> Sorry, this is very confusing. Are JN and PS one and the same person?
I would assume PS mailed JN off list?
--
Cheers,
Sverre Rabbelier
^ permalink raw reply
* [PATCH] daemon: print "access denied" if a service does not work
From: Nguyễn Thái Ngọc Duy @ 2011-10-03 19:28 UTC (permalink / raw)
To: git
Cc: Jeff King, Johannes Sixt, Jonathan Nieder,
Nguyễn Thái Ngọc Duy
In-Reply-To: <20111003111331.GA12707@elie>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
Note that if a service fails, then "access denied" is printed too.
Not sure if it's a good thing, the service in question may have
responded to user already. On the other hand, this catches faults
from start_command() in run_service_command().
daemon.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/daemon.c b/daemon.c
index 4c8346d..6552ca7 100644
--- a/daemon.c
+++ b/daemon.c
@@ -562,7 +562,10 @@ static int execute(void)
* Note: The directory here is probably context sensitive,
* and might depend on the actual service being performed.
*/
- return run_service(line + namelen + 5, s);
+ if (!run_service(line + namelen + 5, s))
+ return 0;
+ packet_write(1, "ERR %s: access denied", line + namelen + 5);
+ return -1;
}
}
--
1.7.3.1.256.g2539c.dirty
^ permalink raw reply related
* Re: [PATCH v3 4/4] upload-archive: use start_command instead of fork
From: Junio C Hamano @ 2011-10-03 19:31 UTC (permalink / raw)
To: kusmabite; +Cc: git, peff, j6t, rene.scharfe
In-Reply-To: <CABPQNSbN-sktYQUkLoywhCkc0_axgjY6Y9sN8ipeu6M+2VOVTA@mail.gmail.com>
Erik Faye-Lund <kusmabite@gmail.com> writes:
> It should, the change is completely server-side. The first two entries
> in sent_argv aren't sent over the network protocol, but the ones that
> follow them are.
>
> Or did I misunderstand your concern?
No you didn't. Thanks.
^ permalink raw reply
* Re: pack-object poor performance (with large number of objects?)
From: Junio C Hamano @ 2011-10-03 19:34 UTC (permalink / raw)
To: Piotr Krukowiecki; +Cc: Shawn Pearce, Git Mailing List, Ingo Molnar
In-Reply-To: <CAA01CsppPf_6Zp5UPYBsxa1JEwLGF-FqacRa7kBJ45Ges2ujrw@mail.gmail.com>
Piotr Krukowiecki <piotr.krukowiecki@gmail.com> writes:
>> Packing time depends on a number of factors. One of them is the number
>> of unpacked objects to process. With 1.7 million objects, yes, its
>> going to take some time.
>
> Any statistics how long it should take?
Packing time depends on the repository, your machine and how you pack, so
such statistics would be useful only in comparable contexts.
linux-3.0/master$ time git repack -a -d
Counting objects: 2138578, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (327257/327257), done.
Writing objects: 100% (2138578/2138578), done.
Total 2138578 (delta 1791983), reused 2138009 (delta 1791434)
real 1m40.528s
user 1m22.805s
sys 0m3.788s
linux-3.0/master$ git count-objects -v
count: 0
size: 0
in-pack: 2138578
packs: 1
size-pack: 487957
prune-packable: 0
garbage: 0
This is on my box [*1*] that is idle (other than running the repack). The
above is starting from an already reasonably well packed state and reuses
deltas; with "-f" to repack everything from scratch it would take
significantly longer:
linux-3.0/master$ time git repack -a -d -f
Counting objects: 2138578, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2118691/2118691), done.
Writing objects: 100% (2138578/2138578), done.
Total 2138578 (delta 1749156), reused 344219 (delta 0)
real 3m26.750s
user 8m41.857s
sys 0m6.716s
Larger "window" tends to make the process take longer (I think it grows
squared) but may reduce both the resulting packsize and runtime access
overhead. Larger "depth" does not affect time to pack and helps reducing
the resulting packsize, with increased runtime access overhead (i.e. not
really recommended).
[Footnote]
*1* http://gitster.livejournal.com/34818.html
Intel(R) Core(TM)2 Quad CPU Q9450 @ 2.66GHz with 8GB memory.
^ permalink raw reply
* Re: Do we have a convenient way to refer to a specific commit in an already filtered rev-list?
From: Junio C Hamano @ 2011-10-03 19:40 UTC (permalink / raw)
To: Tzu-Jung Lee; +Cc: Jeff King, git
In-Reply-To: <CAEvN+1gODnGy2v2=d6NXJ8b1nBJgpqj+BkDm2eQC1xqyTKXhEg@mail.gmail.com>
Tzu-Jung Lee <roylee17@gmail.com> writes:
> And also teach the rev-list to parse or interpret the 'saved' refs differently.
> So we can have the following use case:
>
> git log branch_foo --author=some_one -S some_string --saved=cached_ref
> git log cached_ref
> git cherry-pick cached_ref~4
> git format-patch cached_ref~6..cached_ref~2
>
> I often have such use cases. not sure others would be benefited from
> such feature.
> Just asking for comment. :)
It feels too much hackery for too little gain.
$ git log --oneline master..branch --author=A.U.Thor -Spickaxe >foos.txt
and working from the text file foos.txt at least would not contaminate any
ref namespace and you do not have to clean them after you are done.
^ permalink raw reply
* Re: Git is not scalable with too many refs/*
From: Junio C Hamano @ 2011-10-03 19:42 UTC (permalink / raw)
To: Martin Fick
Cc: git, Christian Couder, Thomas Rast, René Scharfe,
Julian Phillips, Michael Haggerty
In-Reply-To: <201110031212.13900.mfick@codeaurora.org>
Martin Fick <mfick@codeaurora.org> writes:
>> I guess this makes sense, we invalidate the cache and
>> have to rebuild it after every new ref is added?
>> Perhaps a simple fix would be to move the invalidation
>> right after all the refs are updated? Maybe
>> write_ref_sha1 could take in a flag to tell it to not
>> invalidate the cache so that during iterative updates it
>> could be disabled and then run manually after the
>> update?
>
> Would this solution be acceptable if I submitted a patch to
> do it? My test shows that this will make a full fetch of
> ~80K changes go from 4:50min to 1:50min,
As long as the resulting code does not introduce new races with another
process updating refs while the bulk update is running, I wouldn't have an
issue with it.
^ permalink raw reply
* Re: [PATCH] Makefile: do not set setgid bit on directories on GNU/kFreeBSD
From: Jonathan Nieder @ 2011-10-03 19:42 UTC (permalink / raw)
To: Sverre Rabbelier; +Cc: Junio C Hamano, git, Petr Salinger
In-Reply-To: <CAGdFq_hQ-qoktgHB6ACF8H2AmeMyfo-bW4VBxfL-CPw5kDMFQw@mail.gmail.com>
Sverre Rabbelier wrote:
> I would assume PS mailed JN off list?
Yes, that's right. Sorry for the cryptic message.
^ permalink raw reply
* Re: [PATCH] daemon: print "access denied" if a service does not work
From: Jonathan Nieder @ 2011-10-03 19:54 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy
Cc: git, Jeff King, Johannes Sixt, Ilari Liusvaara
In-Reply-To: <1317670109-16919-1-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy wrote:
> --- a/daemon.c
> +++ b/daemon.c
> @@ -562,7 +562,10 @@ static int execute(void)
> * Note: The directory here is probably context sensitive,
> * and might depend on the actual service being performed.
> */
> - return run_service(line + namelen + 5, s);
> + if (!run_service(line + namelen + 5, s))
> + return 0;
> + packet_write(1, "ERR %s: access denied", line + namelen + 5);
> + return -1;
> }
At first I liked the simplification relative to the patch I sent.
This means the error message is shown when
1. the service is not enabled at all
2. path not allowed (for example because it doesn't exist, because
of permission problems, or because it is blacklisted)
3. the repository is not exported
4. the service is not enabled for $path
5. the service command exited with nonzero status
Unfortunately I think that last case (#5) would be confusing and would
break protocol, especially when the command dies at an inconvenient
moment. Better for the service command to send an appropriate error
indicator and to just hang up when it fails to do so.
^ permalink raw reply
* Re: Git, Mac OS X and German special characters
From: Torsten Bögershausen @ 2011-10-03 19:48 UTC (permalink / raw)
To: Albert Zeyer; +Cc: git
In-Reply-To: <CAO1Q+jf=RO=sE90-mQdi+=fUWH1RLM+JTubSgSVGC5uDyhU+2A@mail.gmail.com>
The patch has probably not been applied, because it is not a god one.
I have been working on a better version,
but that is not 100% ready to be released.
I can post it in a couple of days,
(and yes, it does a NFD->NFC conversion in readdir() )
/Torsten
On 10/01/2011 02:44 PM, Albert Zeyer wrote:
> Hi,
>
> There are problems on MacOSX with different UTF8 encodings of
> filenames. A unicode string has multiple ways to be represented as
> UTF8 and Git treats them as different filenames. This is the actual
> bug. It should treat them all as the same filename. In some cases (as
> on MacOSX), the underlying operating system may use a normalized UTF8
> representation in some sort, i.e. change the actual UTF8 filename
> representation.
>
> Similar problems also exists in SVN, for example. This was reported
> [here](http://subversion.tigris.org/issues/show_bug.cgi?id=2464).
> There you can find also lengthy discussions about the topic. And also
> [here](http://svn.apache.org/repos/asf/subversion/trunk/notes/unicode-composition-for-filenames).
>
> This was already reported for Git earlier and there is also a patch
> for Git [here](http://lists-archives.org/git/719832-git-mac-os-x-and-german-special-characters.html).
>
> I wonder about the state of this. This hasn't been applied yet. Why?
>
> Regards,
> Albert
> --
> 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
^ permalink raw reply
* Re: [PATCH] daemon: print "access denied" if a service does not work
From: Junio C Hamano @ 2011-10-03 19:57 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy
Cc: git, Jeff King, Johannes Sixt, Jonathan Nieder
In-Reply-To: <1317670109-16919-1-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
> Note that if a service fails, then "access denied" is printed too.
After run_service() returns with a failure, it is simply irresponsible to
append an "ERR" packet to the output channel without knowing what the
state of that channel is (e.g. it might be that the service wrote only
half a pkt_line it wanted to write, and you may be appending to it).
I think the earlier patch from Peff makes the division of responsibility
clearer. If the daemon's dispatch code notices it does not want to run it,
it is the daemon's job to report it. Otherwise the service can and should
report what it does, and after it starts running, the channel belongs to
the service.
^ permalink raw reply
* Re: [PATCH] send-mail: Add option to sleep between sending each email.
From: Jakub Narebski @ 2011-10-03 20:17 UTC (permalink / raw)
To: Georgi Chorbadzhiyski; +Cc: Matthieu Moy, Ramkumar Ramachandra, git
In-Reply-To: <4E68CC08.4040201@unixsol.org>
Georgi Chorbadzhiyski <gf@unixsol.org> writes:
> Around 09/08/2011 04:58 PM, Georgi Chorbadzhiyski scribbled:
[...]
> > In order for this to work, confirmation should be split from send_message()
> > and from a quick look this not seem very easy. Might be easier to just
> > disable the sleep if user was asked for confirmation. It'll be good to
> > not sleep after last email, but main "foreach my $t (@files) {" loop should
> > pass some hint to send_message().
>
> The attached patch (apply on on top of the original) should implement the
> idea.
>
> --
> Georgi Chorbadzhiyski
> http://georgi.unixsol.org/
> diff --git a/git-send-email.perl b/git-send-email.perl
> index 7239fd4..d4559c9 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -1149,7 +1149,7 @@ X-Mailer: git-send-email $gitversion
> }
> }
>
> - if (!$dry_run && $sleep) {
> + if (!$dry_run && $sleep && $message_num < scalar $#files && $confirm eq 'never') {
^^^^^^^^^^^^^^
> print "Sleeping: $sleep second(s).\n" if (!$quiet);
> sleep($sleep);
> };
Errr... what? If we have @files array, then '$#files' is index of
last element in array, which is scalar anyway, and 'scalar $#files' is
a no-op.
You can get number of elements in array with 'scalar @files', though
_implicit_ scalar context would also work, like e.g. right hand side
of '<' operator.
--
Jakub Narębski
^ permalink raw reply
* Re: [PATCH] transport: do not allow to push over git:// protocol
From: Junio C Hamano @ 2011-10-03 20:27 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: Ilari Liusvaara, Jeff King, git
In-Reply-To: <20111003181338.GA13392@duynguyen-vnpc>
Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:
>> From ce3a402e4fa72cf603f92801d6f021ff89d3ac35 Mon Sep 17 00:00:00 2001
>> From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
>> Date: Mon, 3 Oct 2011 13:55:37 +0300
>> Subject: [PATCH] Support ERR in remote archive like in fetch/push
>>
>> Make ERR as first packet of remote snapshot reply work like it does in
>> fetch/push. Lets servers decline remote snapshot with message the same
>> way as declining fetch/push with a message.
>>
>> Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
>
> Yeah, maybe with this patch also?
>
> -- 8< --
> Subject: [PATCH] pack-protocol: document "ERR" line
>
> Since a807328 (connect.c: add a way for git-daemon to pass an error
> back to client), git client recognizes "ERR" line and prints a
> friendly message to user if an error happens at server side.
>
> Document this.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
Mmakes sense; thanks, both of you.
^ permalink raw reply
* Re: Unable to remove a file
From: robert mena @ 2011-10-03 20:57 UTC (permalink / raw)
To: Andreas Schwab; +Cc: git
In-Reply-To: <m262k6jc2c.fsf@igel.home>
Thanks.
It accepted the command but rejected my push.
git filter-branch --index-filter 'git rm -q --ignore-unmatch --cached
scripts/\\' HEAD
Rewrite 5ac83187fa298add60cf81fd1d54b194da7ae783 (57/57)
Ref 'refs/heads/master' was rewritten
git push
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@myserver:repository'
Should I do anything special?
On Mon, Oct 3, 2011 at 12:04 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> robert mena <robert.mena@gmail.com> writes:
>
>> I found the command filter but it is not working.
>>
>> git filter-branch --index-filter 'git rm --cached scripts/\\' HEAD
>
> $ git filter-branch --index-filter 'git rm -q --ignore-unmatch --cached scripts/\\' HEAD
>
> Andreas.
>
> --
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
>
^ permalink raw reply
* Re: [PATCH] po/pl.po: Eliminate fuzzy translations
From: Jakub Narebski @ 2011-10-03 21:37 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason
Cc: Git Mailing List, Marcin Cieślak
In-Reply-To: <CACBZZX7wj=j9Mx-m0HrRoRHP1HOSVpn-7o0YVnY6LsfWzuw8aw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 918 bytes --]
Ævar Arnfjörð Bjarmason wrote:
> 2011/7/7 Jakub Narebski <jnareb@gmail.com>:
> > Remove all fuzzy translations by either correcting them where trivial,
> > or removing them altogether.
>
> I was about to try to submit this (better late than never) but I can't
> get git-am to accept this mail which has quoted-printable format.
>
> Can you perchance send this as a git:// URL or as a *.patch file
> attachment?
Sent as attachment, just in case
It is also available as 'i18n-po.pl' branch on both repo.or.cz and GitHub
http://repo.or.cz/w/git/jnareb-git.git
https://github.com/jnareb/git
Pull request:
^^^^^^^^^^^^^
The following changes since commit aa8ce2e23754171665ad53d317a97f941407379a:
po/pl.po: Eliminate fuzzy translations (2011-07-07 11:01:25 +0200)
are available in the git repository at:
git://repo.or.cz/git/jnareb-git.git i18n-po.pl
--
Jakub Narebski
Poland
[-- Attachment #2: 0001-po-pl.po-Eliminate-fuzzy-translations.txt --]
[-- Type: text/plain, Size: 15428 bytes --]
>From aa8ce2e23754171665ad53d317a97f941407379a Mon Sep 17 00:00:00 2001
From: Jakub Narebski <jnareb@gmail.com>
Date: Thu, 7 Jul 2011 11:01:25 +0200
Subject: [PATCH] po/pl.po: Eliminate fuzzy translations
Remove all fuzzy translations by either correcting them where trivial,
or removing them altogether.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
Only corrected translations that were trivial, trying not to introduce
any new words / phrases, because I don't know what should be Polish
translations of English terminology.
...
The following changes since commit ceb58337358d93caae779b33daf6d7fd58ccdf23:
en_GB is OK now (2011-07-06 19:24:58 +0000)
are available in the git repository at:
git@github.com:jnareb/git.git i18n-po.pl
Jakub Narebski (1):
po/pl.po: Eliminate fuzzy translations
po/pl.po | 208 ++++++++++++++++++++++++++++++++++----------------------------
1 files changed, 114 insertions(+), 94 deletions(-)
diff --git a/po/pl.po b/po/pl.po
index f7f2129..414c881 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -3,13 +3,45 @@
# This file is distributed under the same license as the Git package.
# Marcin Cieślak <saper@saper.info>, 2010.
#
+# Terminologia dla kluczowych terminów z Subversion:
+# path - ścieżka
+# URL - URL
+# file - plik
+# directory - katalog
+# update - aktualizacja
+# commit - zatwierdzenie, zatwierdzenie zmian
+# version control - zarządzanie wersjami
+# repository - repozytorium
+# branch - odgałęzienie
+# tag - tag
+# merge - łączenie zmian
+# conflict - konflikt
+# property - atrybut
+# revision - wersja
+# log message - opis zmian
+# entry/item - element
+# ancestry - pochodzenie
+# ancestor - przodek
+# working copy - kopia robocza
+# working dir - bieżący katalog
+# usage - wykorzystanie
+# source - źródłowy
+# destination - docelowy
+# hook - skrypt (skrypt repozytorium)
+# exclude - wykluczyć
+# crop - obciąć
+# cache - pamięć podręczna
+# child - obiekt podrzędny
+# obliteration - obliteracja
+# patch - łata
+# notes - adnotacja
msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
"POT-Creation-Date: 2011-07-06 19:20+0000\n"
-"PO-Revision-Date: 2010-08-30 17:02+0200\n"
-"Last-Translator: Marcin Cieślak <saper@saper.info>\n"
+"PO-Revision-Date: 2011-07-07 10:53+0200\n"
+"Last-Translator: Jakub Narębski <jnareb@gmail.com>\n"
"Language-Team: Git Mailing List <git@vger.kernel.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
@@ -24,9 +56,9 @@ msgid " Failed to parse dirstat cut-off percentage '%.*s'\n"
msgstr ""
#: diff.c:109
-#, fuzzy, c-format
+#, c-format
msgid " Unknown dirstat parameter '%.*s'\n"
-msgstr "nie mogę tknąć szablonu '%s'"
+msgstr " Nieznany argument '%.*s' opcji '--dirstat'\n"
#: diff.c:205
#, c-format
@@ -192,9 +224,8 @@ msgid "Not currently on any branch."
msgstr ""
#: wt-status.c:731
-#, fuzzy
msgid "Initial commit"
-msgstr "Utworzyłem puste"
+msgstr ""
#: wt-status.c:745
msgid "Untracked"
@@ -315,14 +346,13 @@ msgid "Could not open '%s' for writing."
msgstr ""
#: builtin/add.c:288
-#, fuzzy
msgid "Could not write patch"
-msgstr "Nie mogę dać prawa zapisu grupie w %s"
+msgstr ""
#: builtin/add.c:293
-#, fuzzy, c-format
+#, c-format
msgid "Could not stat '%s'"
-msgstr "nie mogę tknąć '%s'"
+msgstr "Nie można wykonać stat na '%s'"
#: builtin/add.c:295
msgid "Empty patch. Aborted."
@@ -427,9 +457,8 @@ msgid "remote "
msgstr ""
#: builtin/branch.c:169
-#, fuzzy
msgid "cannot use -a with -d"
-msgstr "nie wiem w którym katalogu jestem"
+msgstr "nie można użyć opcji -a z opcją -d"
#: builtin/branch.c:175
msgid "Couldn't look up commit object for HEAD"
@@ -619,9 +648,9 @@ msgid "you need to resolve your current index first"
msgstr ""
#: builtin/checkout.c:527
-#, fuzzy, c-format
+#, c-format
msgid "Can not do reflog for '%s'\n"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "Nie można utworzyć reflog dla '%s'\n"
#: builtin/checkout.c:557
msgid "HEAD is now at"
@@ -720,9 +749,8 @@ msgid "--detach cannot be used with -b/-B/--orphan"
msgstr ""
#: builtin/checkout.c:979
-#, fuzzy
msgid "--detach cannot be used with -t"
-msgstr "nie wiem w którym katalogu jestem"
+msgstr "--detach nie może być użyte z -t"
#: builtin/checkout.c:985
msgid "--track needs a branch name"
@@ -813,9 +841,9 @@ msgid "Removing %s\n"
msgstr ""
#: builtin/clean.c:161 builtin/clean.c:181
-#, fuzzy, c-format
+#, c-format
msgid "failed to remove %s"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "nie mogę usunąć '%s'"
#: builtin/clean.c:165
#, c-format
@@ -833,24 +861,24 @@ msgid "reference repository '%s' is not a local directory."
msgstr ""
#: builtin/clone.c:241
-#, fuzzy, c-format
+#, c-format
msgid "failed to open '%s'"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "nie mogę otworzyć '%s'"
#: builtin/clone.c:245
-#, fuzzy, c-format
+#, c-format
msgid "failed to create directory '%s'"
-msgstr "beznadziejny katalog gita %s"
+msgstr "nie mogę utworzyć katalogu '%s'"
#: builtin/clone.c:247 builtin/diff.c:74
-#, fuzzy, c-format
+#, c-format
msgid "failed to stat '%s'"
-msgstr "nie mogę tknąć '%s'"
+msgstr "nie mogę wykonać stat na '%s'"
#: builtin/clone.c:249
-#, fuzzy, c-format
+#, c-format
msgid "%s exists and is not a directory"
-msgstr "beznadziejny katalog gita %s"
+msgstr "%s istnieje i nie jest katalogiem"
#: builtin/clone.c:263
#, c-format
@@ -863,14 +891,14 @@ msgid "failed to unlink '%s'"
msgstr ""
#: builtin/clone.c:278
-#, fuzzy, c-format
+#, c-format
msgid "failed to create link '%s'"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "nie mogę utworzyć dowiązania '%s'"
#: builtin/clone.c:282
-#, fuzzy, c-format
+#, c-format
msgid "failed to copy file to '%s'"
-msgstr "nie mogę skopiować '%s' to '%s'"
+msgstr "nie mogę skopiować pliku do '%s'"
#: builtin/clone.c:311
#, c-format
@@ -915,9 +943,9 @@ msgid "could not create leading directories of '%s'"
msgstr ""
#: builtin/clone.c:461
-#, fuzzy, c-format
+#, c-format
msgid "could not create work tree dir '%s'."
-msgstr "Nie mogę dostać się do drzewa roboczego '%s'"
+msgstr "nie mogę utworzyć katalogu roboczego '%s'"
#: builtin/clone.c:480
#, c-format
@@ -983,9 +1011,8 @@ msgid "failed to unpack HEAD tree object"
msgstr ""
#: builtin/commit.c:359
-#, fuzzy
msgid "unable to create temporary index"
-msgstr "beznadziejny katalog gita %s"
+msgstr "nie mogę utworzyć tymczasowego indeksu"
#: builtin/commit.c:365
msgid "interactive add failed"
@@ -1001,9 +1028,8 @@ msgid "cannot do a partial commit during a %s."
msgstr ""
#: builtin/commit.c:456
-#, fuzzy
msgid "cannot read the index"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "nie mogę odczytać indeksu"
#: builtin/commit.c:476
msgid "unable to write temporary index file"
@@ -1042,9 +1068,9 @@ msgid "could not read log from standard input"
msgstr ""
#: builtin/commit.c:674
-#, fuzzy, c-format
+#, c-format
msgid "could not read log file '%s'"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr ""
#: builtin/commit.c:680
msgid "commit has empty message"
@@ -1059,14 +1085,14 @@ msgid "could not read SQUASH_MSG"
msgstr ""
#: builtin/commit.c:704
-#, fuzzy, c-format
+#, c-format
msgid "could not read '%s'"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "nie można odczytać '%s'"
#: builtin/commit.c:732
-#, fuzzy, c-format
+#, c-format
msgid "could not open '%s'"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "nie mogę otworzyć '%s'"
#: builtin/commit.c:756
msgid "could not write commit template"
@@ -1110,9 +1136,8 @@ msgid "%sCommitter: %s"
msgstr ""
#: builtin/commit.c:829
-#, fuzzy
msgid "Cannot read index"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "Nie mogę odczytać indeksu"
#: builtin/commit.c:869
msgid "Error building trees"
@@ -1272,9 +1297,9 @@ msgid "%s is not a valid '%s' object"
msgstr ""
#: builtin/describe.c:287
-#, fuzzy, c-format
+#, c-format
msgid "no tag exactly matches '%s'"
-msgstr "nie mogę tknąć szablonu '%s'"
+msgstr "nie znaleziono taga który dokładnie pasuje do '%s'"
#: builtin/describe.c:289
#, c-format
@@ -1363,9 +1388,9 @@ msgid "Couldn't find remote ref HEAD"
msgstr ""
#: builtin/fetch.c:252
-#, fuzzy, c-format
+#, c-format
msgid "object %s not found"
-msgstr "nie znaleziono szablonów %s"
+msgstr "nie znaleziono obiektu %s"
#: builtin/fetch.c:257
msgid "[up to date]"
@@ -1413,9 +1438,9 @@ msgid "(non-fast-forward)"
msgstr ""
#: builtin/fetch.c:361 builtin/fetch.c:684
-#, fuzzy, c-format
+#, c-format
msgid "cannot open %s: %s\n"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "nie mogę otworzyć %s: %s\n"
#: builtin/fetch.c:439
#, c-format
@@ -1528,9 +1553,9 @@ msgid "Too many options specified"
msgstr ""
#: builtin/gc.c:103
-#, fuzzy, c-format
+#, c-format
msgid "insanely long object directory %.*s"
-msgstr "beznadziejny katalog gita %s"
+msgstr ""
#: builtin/gc.c:223
#, c-format
@@ -1590,9 +1615,9 @@ msgid "switch `%c' expects a numerical value"
msgstr ""
#: builtin/grep.c:691
-#, fuzzy, c-format
+#, c-format
msgid "cannot open '%s'"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "nie mogę otworzyć '%s'"
#: builtin/grep.c:974
msgid "no pattern given."
@@ -1701,14 +1726,14 @@ msgid "unable to handle file type %d"
msgstr ""
#: builtin/init-db.c:357
-#, fuzzy, c-format
+#, c-format
msgid "unable to move %s to %s"
-msgstr "nie mogę skopiować '%s' to '%s'"
+msgstr "nie mogę przenieść %s do %s"
#: builtin/init-db.c:362
-#, fuzzy, c-format
+#, c-format
msgid "Could not create git link %s"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "Nie mogę utworzyć git-dowiązania %s"
#.
#. * TRANSLATORS: The first '%s' is either "Reinitialized
@@ -1793,9 +1818,9 @@ msgid "name of output directory is too long"
msgstr ""
#: builtin/log.c:688
-#, fuzzy, c-format
+#, c-format
msgid "Cannot open patch file %s"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "Nie mogę otworzyć pliku łaty %s"
#: builtin/log.c:702
msgid "Need exactly one range."
@@ -1814,9 +1839,9 @@ msgid "Cover letter needs email format"
msgstr ""
#: builtin/log.c:872
-#, fuzzy, c-format
+#, c-format
msgid "insane in-reply-to: %s"
-msgstr "beznadziejny katalog gita %s"
+msgstr "niepoprawne in-reply-to: %s"
#: builtin/log.c:945
msgid "Two output directories?"
@@ -1983,14 +2008,14 @@ msgstr ""
#: builtin/merge.c:841 builtin/merge.c:920 builtin/merge.c:1427
#: builtin/merge.c:1436 builtin/revert.c:210
-#, fuzzy, c-format
+#, c-format
msgid "Could not open '%s' for writing"
-msgstr "Nie mogę dać prawa zapisu grupie w %s"
+msgstr "Nie mogę otworzyć '%s' do zapisu"
#: builtin/merge.c:852
-#, fuzzy, c-format
+#, c-format
msgid "Could not read from '%s'"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "Nie mogę czytać z '%s'"
#: builtin/merge.c:869
#, c-format
@@ -2123,9 +2148,9 @@ msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
#: builtin/mv.c:103
-#, fuzzy, c-format
+#, c-format
msgid "Checking rename of '%s' to '%s'\n"
-msgstr "nie mogę skopiować '%s' to '%s'"
+msgstr "Sprawdzanie zmiany nazwy z '%s' na '%s'\n"
#: builtin/mv.c:107
msgid "bad source"
@@ -2204,9 +2229,9 @@ msgid "failed to finish 'show' for object '%s'"
msgstr ""
#: builtin/notes.c:175 builtin/tag.c:303
-#, fuzzy, c-format
+#, c-format
msgid "could not create file '%s'"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "nie mogę utworzyć pliku '%s'"
#: builtin/notes.c:189
msgid "Please supply the note contents using either -m or -F option"
@@ -2227,14 +2252,14 @@ msgid "The note contents has been left in %s"
msgstr ""
#: builtin/notes.c:251 builtin/tag.c:448
-#, fuzzy, c-format
+#, c-format
msgid "cannot read '%s'"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "nie można odczytać '%s'"
#: builtin/notes.c:253 builtin/tag.c:451
-#, fuzzy, c-format
+#, c-format
msgid "could not open or read '%s'"
-msgstr "nie mogę otworzyć katalogu '%s'"
+msgstr "nie mogę otworzyć ani odczytać '%s'"
#: builtin/notes.c:272 builtin/notes.c:445 builtin/notes.c:447
#: builtin/notes.c:507 builtin/notes.c:561 builtin/notes.c:644
@@ -2276,9 +2301,9 @@ msgid "Malformed input line: '%s'."
msgstr ""
#: builtin/notes.c:456
-#, fuzzy, c-format
+#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
-msgstr "nie mogę skopiować '%s' to '%s'"
+msgstr "Nie udało się skopiować adnotacji z '%s' do '%s'"
#: builtin/notes.c:500 builtin/notes.c:554 builtin/notes.c:627
#: builtin/notes.c:639 builtin/notes.c:712 builtin/notes.c:759
@@ -2687,9 +2712,9 @@ msgid "tag name too long: %.*s..."
msgstr ""
#: builtin/tag.c:126
-#, fuzzy, c-format
+#, c-format
msgid "tag '%s' not found."
-msgstr "nie znaleziono szablonów %s"
+msgstr "nie znaleziono tagu '%s'."
#: builtin/tag.c:141
#, c-format
@@ -3027,9 +3052,9 @@ msgid "No logfile given"
msgstr ""
#: git-bisect.sh:372
-#, fuzzy, sh-format
+#, sh-format
msgid "cannot read $file for replaying"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr ""
#: git-bisect.sh:388
msgid "?? what are you talking about?"
@@ -3106,14 +3131,12 @@ msgid "You do not have the initial commit yet"
msgstr ""
#: git-stash.sh:80
-#, fuzzy
msgid "Cannot save the current index state"
-msgstr "Nie mogę dobrać się do bieżącego katalogu"
+msgstr "Nie mogę zapisać bieżącego stanu indeksu"
#: git-stash.sh:94 git-stash.sh:107
-#, fuzzy
msgid "Cannot save the current worktree state"
-msgstr "Nie mogę dobrać się do bieżącego katalogu"
+msgstr "Nie mogę zapisać bieżącego stanu katalogu roboczego"
#: git-stash.sh:111
msgid "No changes selected"
@@ -3124,9 +3147,8 @@ msgid "Cannot remove temporary index (can't happen)"
msgstr ""
#: git-stash.sh:127
-#, fuzzy
msgid "Cannot record working tree state"
-msgstr "Nie mogę dostać się do drzewa roboczego '%s'"
+msgstr ""
#: git-stash.sh:182
msgid "No local changes to save"
@@ -3141,9 +3163,8 @@ msgid "Cannot save the current status"
msgstr ""
#: git-stash.sh:207
-#, fuzzy
msgid "Cannot remove worktree changes"
-msgstr "Nie mogę dostać się do drzewa roboczego '%s'"
+msgstr "Nie mogę usunąć zmian w katalogu roboczym"
#: git-stash.sh:302
msgid "No stash found."
@@ -3182,9 +3203,8 @@ msgid "Conflicts in index. Try without --index."
msgstr ""
#: git-stash.sh:373
-#, fuzzy
msgid "Could not save index tree"
-msgstr "Nie mogę dać prawa zapisu grupie w %s"
+msgstr ""
#: git-stash.sh:399
msgid "Cannot unstage modified files"
@@ -3238,9 +3258,9 @@ msgid "repo URL: '$repo' must be absolute or begin with ./|../"
msgstr ""
#: git-submodule.sh:222
-#, fuzzy, sh-format
+#, sh-format
msgid "'$path' already exists in the index"
-msgstr "readlink nie zadziałało dla '%s'"
+msgstr "'$path' już jest w indeksie"
#: git-submodule.sh:227
#, sh-format
@@ -3256,9 +3276,9 @@ msgid "Adding existing repo at '$path' to the index"
msgstr ""
#: git-submodule.sh:242
-#, fuzzy, sh-format
+#, sh-format
msgid "'$path' already exists and is not a valid git repo"
-msgstr "beznadziejny katalog gita %s"
+msgstr "'$path' juz istnieje i nie jest poprawnym repozytorium Gita"
#: git-submodule.sh:265
#, sh-format
--
1.7.5
^ permalink raw reply related
* [PATCH] daemon: return "access denied" if a service is not allowed
From: Nguyễn Thái Ngọc Duy @ 2011-10-03 21:55 UTC (permalink / raw)
To: git
Cc: Ilari Liusvaara, Junio C Hamano, Jeff King, Johannes Sixt,
Jonathan Nieder, Nguyễn Thái Ngọc Duy
In-Reply-To: <7vsjn9etm3.fsf@alter.siamese.dyndns.org>
The message is chosen to avoid leaking information, yet let users know
that they are deliberately not allowed to use the service, not a fault
in service configuration or the service itself.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
OK let's try again. I don't send ERR when faults happen in
service->fn() (eventually run_service_command) because
- if it's start_command(), it's likely due to service configuration
fault (wrong --exec-path..)
- if it's finish_command(), the service may have run and sent
something back to users. We may break the protocol by sending ERR
daemon.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/daemon.c b/daemon.c
index 4c8346d..f0cae24 100644
--- a/daemon.c
+++ b/daemon.c
@@ -257,11 +257,11 @@ static int run_service(char *dir, struct daemon_service *service)
if (!enabled && !service->overridable) {
logerror("'%s': service not enabled.", service->name);
errno = EACCES;
- return -1;
+ goto failed;
}
if (!(path = path_ok(dir)))
- return -1;
+ goto failed;
/*
* Security on the cheap.
@@ -277,7 +277,7 @@ static int run_service(char *dir, struct daemon_service *service)
if (!export_all_trees && access("git-daemon-export-ok", F_OK)) {
logerror("'%s': repository not exported.", path);
errno = EACCES;
- return -1;
+ goto failed;
}
if (service->overridable) {
@@ -291,7 +291,7 @@ static int run_service(char *dir, struct daemon_service *service)
logerror("'%s': service not enabled for '%s'",
service->name, path);
errno = EACCES;
- return -1;
+ goto failed;
}
/*
@@ -301,6 +301,10 @@ static int run_service(char *dir, struct daemon_service *service)
signal(SIGTERM, SIG_IGN);
return service->fn();
+
+failed:
+ packet_write(1, "ERR %s: access denied", dir);
+ return -1;
}
static void copy_to_log(int fd)
--
1.7.3.1.256.g2539c.dirty
^ permalink raw reply related
* Re: [PATCH] use -h for synopsis and --help for manpage consistently
From: Junio C Hamano @ 2011-10-03 22:03 UTC (permalink / raw)
To: Clemens Buchacher; +Cc: git
In-Reply-To: <20111003182136.GA6136@ecki.lan>
Clemens Buchacher <drizzd@aon.at> writes:
> Hi Junio,
>
> This is a re-send in case you missed it.
Thanks.
> Cheers,
> Clemens
>
> --8<--
>
> Signed-off-by: Clemens Buchacher <drizzd@aon.at>
> ---
> ...
> diff --git a/git-cvsserver.perl b/git-cvsserver.perl
> index 1b8bff2..6c5185e 100755
> --- a/git-cvsserver.perl
> +++ b/git-cvsserver.perl
> @@ -109,14 +109,14 @@ my $usage =
> " --strict-paths : Don't allow recursing into subdirectories\n".
> " --export-all : Don't check for gitcvs.enabled in config\n".
> " --version, -V : Print version information and exit\n".
> - " --help, -h, -H : Print usage information and exit\n".
> + " -h : Print usage information and exit\n".
> "\n".
> "<directory> ... is a list of allowed directories. If no directories\n".
> "are given, all are allowed. This is an additional restriction, gitcvs\n".
> "access still needs to be enabled by the gitcvs.enabled config option.\n".
> "Alternately, one directory may be specified in GIT_CVSSERVER_ROOT.\n";
>
> -my @opts = ( 'help|h|H', 'version|V',
> +my @opts = ( 'h', 'version|V',
I am a bit skeptical about the removal of 'H' here (also in git-svn).
Granted, no sane script would have ever used "-H" (or "-h" for that
matter) so there is little chance for this to introduce a painful
regression.
^ permalink raw reply
* Re: [PATCH 0/9] i18n: add PO files to po/
From: Jonathan Nieder @ 2011-10-03 22:06 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason
Cc: git, Junio C Hamano, Ramkumar Ramachandra, Peter Krefting,
Marcin Cieślak, Sam Reed, Jan Engelhardt, Jan Krüger,
Nguyễn Thái Ngọc Duy
In-Reply-To: <1317668297-2702-1-git-send-email-avarab@gmail.com>
Ævar Arnfjörð Bjarmason wrote:
> It's been a long time coming, but here's an initial submission of PO
> files to the po/ directory. This adds some initial and as of yet
> unused translations.
Neat. I think it's good to figure out what we will do with these
anyway, and we don't have to wait for the infrastructure to do that.
So, basic questions:
1. which branch will be translated?
2. who keeps track of incoming translations?
3. how can we avoid this making "git log -p" output unusable?
Some strawman answers:
1. I have two ideas (each pretty different from the other).
If the gettext tools provide a way to take a union of po template
files, it would be possible to keep the union of all maintained
branches translated. In other words, when a message changes,
until that change propagates to "master" or "maint", translators
would be able to translate _both_ the Before and After versions.
Otherwise, I'd say, it's simplest to only take ordinary
translation updates through the "master" branch (and to update
translations of "maint" when important fixes come).
2. If there is a git-i18n.git tree, Junio could pull its "master"
branch from time to time. An i18n coordinator could even take
advantage of zealous translators that want to translate topics in "pu"
if wanted, without having to bother Junio until it is time to pull the
cooked translations from 'master'.
3. Maybe some hero will implement
git log -p --exclude=po/
# or
git log -p -- :(not)po/
to complement "git log -p -- po/". ;-)
If you wonder why I'm asking these questions, it's because I have
noticed that normal branching practice (fixes rippling up from more
stable branches to less stable ones) can fall apart in projects with
translations, since there is no tool that I am aware of that works
like rcs merge to combine changes. Hence question (2), which puts the
burden to get things right on some other person who can experiment to
find a workflow that works well. :)
Two interesting patches (#2 and #9) didn't hit the mailing list
archive, probably because of length limits.
^ permalink raw reply
* Re: [PATCH] daemon: return "access denied" if a service is not allowed
From: Junio C Hamano @ 2011-10-03 22:20 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy
Cc: git, Ilari Liusvaara, Jeff King, Johannes Sixt, Jonathan Nieder
In-Reply-To: <1317678909-19383-1-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
> The message is chosen to avoid leaking information, yet let users know
> that they are deliberately not allowed to use the service, not a fault
> in service configuration or the service itself.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
> OK let's try again. I don't send ERR when faults happen in
> service->fn() (eventually run_service_command) because
>
> - if it's start_command(), it's likely due to service configuration
> fault (wrong --exec-path..)
>
> - if it's finish_command(), the service may have run and sent
> something back to users. We may break the protocol by sending ERR
>
> daemon.c | 12 ++++++++----
> 1 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/daemon.c b/daemon.c
> index 4c8346d..f0cae24 100644
> --- a/daemon.c
> +++ b/daemon.c
> @@ -257,11 +257,11 @@ static int run_service(char *dir, struct daemon_service *service)
> if (!enabled && !service->overridable) {
> logerror("'%s': service not enabled.", service->name);
> errno = EACCES;
> - return -1;
> + goto failed;
> }
>
> if (!(path = path_ok(dir)))
> - return -1;
> + goto failed;
>
> /*
> * Security on the cheap.
> @@ -277,7 +277,7 @@ static int run_service(char *dir, struct daemon_service *service)
> if (!export_all_trees && access("git-daemon-export-ok", F_OK)) {
> logerror("'%s': repository not exported.", path);
> errno = EACCES;
> - return -1;
> + goto failed;
> }
>
> if (service->overridable) {
> @@ -291,7 +291,7 @@ static int run_service(char *dir, struct daemon_service *service)
> logerror("'%s': service not enabled for '%s'",
> service->name, path);
> errno = EACCES;
> - return -1;
> + goto failed;
> }
>
> /*
> @@ -301,6 +301,10 @@ static int run_service(char *dir, struct daemon_service *service)
> signal(SIGTERM, SIG_IGN);
>
> return service->fn();
> +
> +failed:
> + packet_write(1, "ERR %s: access denied", dir);
> + return -1;
> }
This looks better.
I think telling "dir" back to the user is probably safe (it is not
affected by what path_ok() does).
I briefly wondered if we also want to say which service failed, but "dir"
is much more likely to be typoed and deserves to be parroted back to help
the user realize mistakes, while the service name is not something the
user usually types, so the balance the patch strikes is probably the
optimal.
Thanks.
^ permalink raw reply
* Re: [PATCH 0/9] i18n: add PO files to po/
From: Nguyen Thai Ngoc Duy @ 2011-10-03 22:53 UTC (permalink / raw)
To: Jonathan Nieder
Cc: Ævar Arnfjörð, git, Junio C Hamano,
Ramkumar Ramachandra, Peter Krefting, Marcin Cieślak,
Sam Reed, Jan Engelhardt, Jan Krüger
In-Reply-To: <20111003220659.GA19537@elie>
On Tue, Oct 4, 2011 at 9:06 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> 3. Maybe some hero will implement
>
> git log -p --exclude=po/
> # or
> git log -p -- :(not)po/
>
> to complement "git log -p -- po/". ;-)
I was pursuing the latter, but think again, maybe reuse exclude code
to implement --exclude would be wiser.
One of my motives for negative pathspec is to narrow/extend a narrow
clone. Narrow clone itself should reuse sparse checkout for worktree
part, and sparse checkout uses exclude code already. If I go with
negative pathspec for narrow clone, I would need to invent another
negative-path-based sparse checkout.. That does not make much sense.
I believe a couple of lines in process_trees() in list-objects.c and
adding struct exclude_list* to struct rev_info would be enough for
--exclude, if you want to try.
--
Duy
^ permalink raw reply
* A Basic Git Question About File Tracking
From: Jon Forrest @ 2011-10-04 0:53 UTC (permalink / raw)
To: git
I've been reading the Pro Git book. I'm having trouble really
understanding the concept of file tracking. Here's where
my confusion starts.
The Pro Git book says "Untracked basically means that Git sees a
file you didn’t have in the previous snapshot (commit)".
Is this right? I can easily think of a counter example.
Let's say you put a new file in the working directory of a
Git repo. Then you "git add" it. At this point, the file hasn't
been in any commit. Yet, 'git status' doesn't show the file
as being untracked. Should that statement be "Untracked basically
means that Git sees a file you didn’t have in the previous
snapshot (commit) or a file that hasn't been staged."?
One additional confusing thing is that "git add" apparently
both starts tracking a file and puts it in the index the
first time a file is added. Thereafter, "git add" only puts
the file in the index. One of my research projects is to understand
what goes on internally when a file is tracked.
Jon Forrest
^ permalink raw reply
* Re: A Basic Git Question About File Tracking
From: Jonathan Nieder @ 2011-10-04 1:10 UTC (permalink / raw)
To: Jon Forrest; +Cc: git
In-Reply-To: <j6dlhf$dp3$1@dough.gmane.org>
Hi!
Jon Forrest wrote:
> The Pro Git book says "Untracked basically means that Git sees a
> file you didn’t have in the previous snapshot (commit)".
Yep, that's a bug in the Pro Git book. "Untracked" means "not in
the index", nothing more, nothing less.
I believe Scott takes patches[1]. :)
Hope that helps,
Jonathan
[1] https://github.com/progit/progit
^ permalink raw reply
* Re: A Basic Git Question About File Tracking
From: Jon Forrest @ 2011-10-04 1:14 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git
In-Reply-To: <20111004011035.GA13836@elie>
On 10/3/2011 6:10 PM, Jonathan Nieder wrote:
> Hi!
Thanks for the quick reply.
> Jon Forrest wrote:
>
>> The Pro Git book says "Untracked basically means that Git sees a
>> file you didn’t have in the previous snapshot (commit)".
>
> Yep, that's a bug in the Pro Git book. "Untracked" means "not in
> the index", nothing more, nothing less.
But your definition doesn't include files that
have been committed. In the following trivial case
in a new git repository
cp /etc/passwd x
git add x
git commit -m"fooling around"
is "x" tracked? Your definition says it isn't
but "git status" makes me think it is.
Sorry to be so pedantic.
Jon
^ permalink raw reply
* Re: A Basic Git Question About File Tracking
From: Jonathan Nieder @ 2011-10-04 1:22 UTC (permalink / raw)
To: Jon Forrest; +Cc: git
In-Reply-To: <4E8A5DF0.6040003@gmail.com>
Jon Forrest wrote:
> On 10/3/2011 6:10 PM, Jonathan Nieder wrote:
>> "Untracked" means "not in
>> the index", nothing more, nothing less.
>
> But your definition doesn't include files that
> have been committed. In the following trivial case
> in a new git repository
>
> cp /etc/passwd x
> git add x
> git commit -m"fooling around"
>
> is "x" tracked? Your definition says it isn't
> but "git status" makes me think it is.
Yes, "x" is tracked. Moreover, "x" is in the index. You can
list files in the index with the "git ls-files -s" command.
Does that help?
> Sorry to be so pedantic.
No problem --- it's good to clarify these things (especially if it
results in finding documentation that should be clarified, too).
Jonathan
^ permalink raw reply
* [PATCH] request-pull: List the hash that results from merging onto baserev
From: Chris Ball @ 2011-10-04 1:47 UTC (permalink / raw)
To: git
This patch modifies the request-pull message to contain both the base
hash and the top commit hash that results when the new commits are
merged onto that base.
The motivation for doing this is to turn cryptographically signing a
pull request into an operation that enables detection of commits having
been maliciously altered before being downloaded. Before this patch, a
pull request contained only a list of commit names and a diffstat; this
is not sufficient to detect subsequent alteration of the changed files.
After this patch, the person merging may choose to rewind to $baserev,
apply the received commits, and check that the resulting hash matches.
Signed-off-by: Chris Ball <cjb@laptop.org>
---
git-request-pull.sh | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/git-request-pull.sh b/git-request-pull.sh
index fc080cc..9a686a5 100755
--- a/git-request-pull.sh
+++ b/git-request-pull.sh
@@ -73,6 +73,9 @@ are available in the git repository at:' $baserev &&
echo " $url $branch" &&
echo &&
+echo "(Applying these commits produces hash $headrev)" &&
+echo &&
+
git shortlog ^$baserev $headrev &&
git diff -M --stat --summary $patch $merge_base..$headrev || exit
exit $status
--
Chris Ball <cjb@laptop.org> <http://printf.net/>
One Laptop Per Child
^ permalink raw reply related
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