* panic recovery
From: Levend Sayar @ 2011-01-16 12:33 UTC (permalink / raw)
To: git; +Cc: Eda Ercan
Hi, all.
Yesterday one of my colleague tried to commit her two weeks of work.
Nearly 10 source code files.
After an unsuccessful am and apply commands, she tried rebase. And git
bothered something like you have to finish your am first.
Then I suggested to do
git am --abort
After that, we saw that all the sources she developed for two weeks
are gone. We really got panic.But I know that git stores everthing as
objects, namely commit,tree,blob and tag objects.
We sorted every file according to modification time under .git/objects
directory and use "git show" for every single object.
After a cumbersome work, we found blob objects for our source codes
that we lost and commit objects. Namely we rescued her work.
Is there a better way to use in this kind of situations ?
For example, to list every single objects under objects directory
according to their types ?
Or search a phrase in every blob obejcts to find the source code we
are looking for ?
_lvnd_
(^_^)
^ permalink raw reply
* Re: panic recovery
From: Thomas Rast @ 2011-01-16 12:38 UTC (permalink / raw)
To: Levend Sayar; +Cc: git, Eda Ercan
In-Reply-To: <AANLkTikBjWU_dm1a+2AQyP-bhdO_WtYJ8OdE7Zs3E=kV@mail.gmail.com>
Levend Sayar wrote:
> git am --abort
>
> After that, we saw that all the sources she developed for two weeks
> are gone.
You can dig up the lost commits from the HEAD reflog after that, which
records all movements of HEAD. See
http://www.kernel.org/pub/software/scm/git/docs/git-reflog.html
The method you described is usually only applicable if you have truly
unreachable objects, which happens e.g. if you lost some content that
was once staged in the index but never committed.
--
Thomas Rast
trast@{inf,student}.ethz.ch
^ permalink raw reply
* Re: panic recovery
From: Thomas Rast @ 2011-01-16 13:11 UTC (permalink / raw)
To: Levend Sayar; +Cc: git, Eda Ercan
In-Reply-To: <AANLkTikBjWU_dm1a+2AQyP-bhdO_WtYJ8OdE7Zs3E=kV@mail.gmail.com>
By the way:
Levend Sayar wrote:
> Yesterday one of my colleague tried to commit her two weeks of work.
If you really mean she wanted to make the first commit in two weeks,
that is just wrong. Usually you should commit at least every few
hours, and changes should be small and self-contained. Even in the
case of starting a new project or self-contained module, you should
commit a lot so you can go back to an older state if required. You
can use rebase -i later to clean up the work-in-progress commits.
--
Thomas Rast
trast@{inf,student}.ethz.ch
^ permalink raw reply
* Re: cannot fetch arm git tree
From: Russell King - ARM Linux @ 2011-01-16 13:42 UTC (permalink / raw)
To: Jello huang; +Cc: Uwe Kleine-König, linux-arm-kernel, git
In-Reply-To: <AANLkTinrZ0GnT71GCueUUpAXM5ckq+LBd0RjA51DMR-a@mail.gmail.com>
On Sun, Jan 16, 2011 at 09:10:17PM +0800, Jello huang wrote:
> yes,git doesn't handle that case and i rename the pack name,but there is
> also the similar error.Now i just delet the git tree and clone it again
> tonight .
_Always_ without fail fetch Linus' tree before pulling my tree.
My tree is a rsync clone of the objects and pack files in Linus' tree,
plus whatever git decided to build on top of that - for local commits
that's individual object files. For remote pulls, that's probably a few
small pack files.
There is *no* repacking of my tree. So the only times it gets 'repacked'
is when Linus repacks his tree.
Let's say you already have a copy of my tree from a month ago, and Linus
has pulled some work from me into his tree, and repacked his tree into one
single pack file. At the moment, the largest pack file from Linus is
400MB plus a 50MB index.
You already have most of the contents of that 400MB pack file, but if
you're missing even _one_ object which is contained within it, git will
have to download the _entire_ 400MB pack file and index file to retrieve
it.
However, if you first fetch Linus' tree via the git protocol, it can just
request the objects it doesn't have from the git server. That will mean
you'll have all the objects in the large pack files before you start trying
to pull my tree, and git won't have to download 400MB for the sake of
retrieving just maybe 10k that you didn't have.
This isn't something special with my tree - it's a side effect of the
http protocol git uses. So, before you fetch _any_ http-based git tree,
first make sure you're up to date with Linus'.
(I update my tree from Linus' in rsync mode to make http-based stuff a
lot more friendly to people using it - some of whom are stuck behind
firewalls which can only do http. Fetching a constantly repacked git
tree via http results in hundreds of megabytes needing to be fetched
every time.)
So please, whenever possible, always fetch Linus' latest tree _first_
and then mine. Same goes for any other http based tree which doesn't
auto-repack.
^ permalink raw reply
* [BUG] blame -M not finding that some lines were moved
From: Yann Dirson @ 2011-01-16 20:56 UTC (permalink / raw)
To: GIT list
I just noticed a case where "git blame -M" ran on a file containing
only line reorderings in the last commit would still report some files
as being introduced in the reordering commit. Reproduced with Debian
squeeze's 1.7.2.3, as well as with 1.7.4.rc2.
Sample case is available from https://alioth.debian.org/anonscm/git/omaha/omaha.git,
commit 369b92da.
"git blame -L325,354 -M 369b92da README" shows the reordered lines,
where lies 332, 333, 338 are reported new in this commit.
It does not seem to be related to the -M threshold.
^ permalink raw reply
* git top links: 2011-1
From: Felipe Contreras @ 2011-01-16 23:09 UTC (permalink / raw)
To: git
Hi,
git top links is my attempt to gather all the links people have been
tagging as "git" in delicious.com[1] (these are not chosen by me).
Here are four months into one.
The fancier blog version is here:
http://gitlog.wordpress.com/2011/01/16/git-top-links-2010-1-2/
= New =
1. Tower, the most powerful Git client for Mac (89)
Interesting new and powerful git client
http://www.git-tower.com/
2. Introductory Guide to Git Version Control System (51)
Thorough indoductory guide
http://sixrevisions.com/web-development/introductory-guide-to-git-version-control-system/
3. A collection of useful .gitignore templates (45)
C, C++, Python, every language has different common .gitignore templates
https://github.com/github/gitignore
4. The Designer’s Guide to Git or: How I Learned to Stop Worrying and
Love the Repository. (24)
http://blogs.sitepoint.com/2010/10/23/the-designers-guide-to-git-or-how-i-learned-to-stop-worrying-and-love-the-repository/
5. Git info in your ZSH Prompt (21)
http://briancarper.net/blog/570/git-info-in-your-zsh-prompt
6. Git Supervisual Cheatsheet (16)
Simple and colorful cheatsheet
http://panela.blog-city.com/git_supervisual_cheatsheet.htm
7. Classy Git (15)
Another great presentation from Scott Chacon
http://git-tips.heroku.com/#1
8. Get Started with Git (14)
Very nice article introducing Git and DSCM in general by Al Shaw
http://www.alistapart.com/articles/get-started-with-git/
9. Gitifier; Git commit notifier for MacOSX (14)
http://psionides.github.com/gitifier/
10. Getting Good with Git! (28)
http://rockablepress.com/books/getting-good-with-git/
11. git-achievements: Earn geeky merit badges while learning Git (13)
http://thechangelog.com/post/1200486354/git-achievements-aquire-achievements-while-using-git
12. RubyDrop (12)
"RubyDrop is my first ever Ruby project that aims to be an
open-source, roll-your-own, Dropbox clone. It uses Git as the backend
for file tracking and remote syncing."
https://github.com/meltingice/RubyDrop
13. gitmodel (12)
"An ActiveModel-compliant persistence framework for Ruby that uses Git
for versioning and remote syncing."
https://github.com/pauldowman/gitmodel
14. Slaying dragons with git, bash, and ruby (11)
Tricks to use git hooks to prevent bad commits
http://rubypond.com/blog/slaying-dragons-git-bash-ruby
15. libgit2 (11)
"libgit2 is a portable, pure C implementation of the Git core methods
provided as a re-entrant linkable library with a solid API, allowing
you to write native speed custom Git applications in any language
which supports C bindings."
http://libgit2.github.com/
16. Version Control for Designers (10)
http://hoth.entp.com/output/git_for_designers.html
= Japanese =
1. (23)
http://d.hatena.ne.jp/yuroyoro/20101008/1286531851
2. (11)
http://d.hatena.ne.jp/mzp/20101118/hooks
3. (9)
http://d.hatena.ne.jp/bleis-tift/20100922/1285140344
[1] http://delicious.com/tag/git
--
Felipe Contreras
^ permalink raw reply
* Re: git bisect problems/ideas
From: Christian Couder @ 2011-01-17 9:38 UTC (permalink / raw)
To: Aaron S. Meurer; +Cc: git
In-Reply-To: <855249CA-A006-475C-8F96-EFD614795064@gmail.com>
Hi,
On Sat, Jan 15, 2011 at 8:33 AM, Aaron S. Meurer <asmeurer@gmail.com> wrote:
> First off, do you guys have an issue tracker?
No, we don't. We use the mailing list.
> I asked on IRC, and someone told me that he didn't think you did, and to just post here. After searching your websites, as far as I can tell he was right, though this is amazing to me that you can handle a project like this without an issue tracker. If you guys really do, then sorry. I would rather post this there than here (though if you really do, please make it more findable!)
>
> I just noticed this error/bug:
>
> git checkout test
> git bisect start
> <do some bisecting>
> git branch -D test
> <finish bisecting>
> git bisect reset
>
> And it gives an error, because test has been deleted. This is in 1.7.3.5. Now, I looked through the log of the current master of git to see if anything has been done about this, and all I noticed was the commit 3bb8cf88247db5, which essentially improves the error message.
>
> Now, this is good, because it seemed to me above that I was stuck bisecting until I recreated the test branch. I did not realize the git bisect <commit> syntax until later.
You mean "git bisect reset <commit>".
> But this has brought me to bother you guys about something that has been bugging me for a while. I hate git bisect reset. 90% of the time I do not want to go back to where I started bisecting. I would much prefer to just have a git bisect stop command, which just stops the bisecting process, but leaves me where I am (like a shortcut to git bisect reset HEAD). This would be much more symmetric with git bisect start.
If more people want it, yeah, we can create such a shortcut. But you
can also use a git alias for that.
> While we are on the topic of bisecting, I have another issue. Can we remove the restriction that a "bad" commit come after a "good" commit? I'd say about 70% of the time I use bisect to find a commit that fixes a bug, not breaks it. Whenever this happens, I have to bend my mind over backwards to remind myself that the good behavior is really "bad" and the bad behavior is really "good". Is there a reason that git bisect can't just introspect from which comes earlier and which comes later to see which is "good" or "bad" (instead of just raising an error when they are in the "wrong" order)?
Yeah, many people find it difficult to reverse the meaning of "bad"
and "good" when looking for a fix. There were some suggestions at some
points to do something about it. Some of the suggestions were to use
some aliases for "good" and "bad", but there was no agreement. Other
suggestions had a patch attached but the patch was not good enough or
something.
Anyway, the restriction is that the "bad" commit cannot be an ancestor
of a "good" commit. But the "good" commits need not be all ancestors
of the "bad" commit. For example if you have a "master" branch and a
"dev" branch that was forked from the "master" branch at one point,
like that:
A-B-C-D-E <-- master
\F-G <-- dev
you can use one of the branch as "bad" and the other one as "good".
And that means that in this case we cannot automatically reverse the
meaning of "good" and "bad".
So if we ever implement a "--reverse" mode, I think that the best we
could do if we detect that a "bad" commit is an ancestor of a "good"
commit is to suggest the use of this "--reverse" mode. Or we could ask
and use this mode if the answer is yes.
Best regards,
Christian.
^ permalink raw reply
* Creating remote branch called HEAD corrupts remote clones
From: Stephen Kelly @ 2011-01-17 10:02 UTC (permalink / raw)
To: kde-pim; +Cc: git
Hi,
On Friday we had an issue where a developer pushed a branch called HEAD to
the remote server. The result was that other developers could not pull or
push. I have not been able to reproduce the exact issue locally, but this
script shows that the bob clone behaves oddly on each pull. That is a
symptom we saw on Friday. However, bob is still able to push, which we were
not able to. That point could be something to do with how the kde git
infrastructure is configured.
mkdir remote
cd remote/
git init --bare
cd ../
git clone remote/ alice
cd alice/
echo test >> file
git add file
git commit -am w
git push origin master
echo test >> file
git commit -am w
git branch HEAD
git push origin HEAD
git push
cd ..
git clone remote bob
cd bob/
git pull --rebase
echo test >> file
git commit -am w
git push
git pull
git pull
git pull
There were also messages like this:
$ git pull
remote: Counting objects: 5, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /home/kde-devel/dev/src/playground/git/tmp/remote
+ 1434cd2...dd30974 HEAD -> origin/HEAD (forced update)
error: Ref refs/remotes/origin/master is at
dd3097498a6c1c5bc73ad1f2ff3b7969a6f6d059 but expected
1434cd2bb9823d2d2b1548c75fdd4ff8b1feddc1
! 1434cd2..2fb560d master -> origin/master (unable to update local
ref)
The HEAD branch was created accidentally and the issue was resolved by doing
a git push origin -f :refs/heads/HEAD. Again though, git push -f is not
something all developers are allowed to do on the kde git infrastructure, so
until that was done, the repo was corrupt for everyone.
Shouldn't git forbit the creation of a branch called HEAD? Hopefully the
provided script can lead to the actual issue that caused the corruption of
our repo.
Thanks,
Steve.
_______________________________________________
KDE PIM mailing list kde-pim@kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
^ permalink raw reply
* Re: git bisect problems/ideas
From: Jonathan Nieder @ 2011-01-17 11:51 UTC (permalink / raw)
To: Christian Couder; +Cc: Aaron S. Meurer, git
In-Reply-To: <AANLkTikNzpCwEieV8sXXctMm+DR69fkLfCF+F3xB6b-k@mail.gmail.com>
Hi,
> Aaron S. Meurer wrote:
>> 90% of the time I do not
>> want to go back to where I started bisecting. I would much prefer to just
>> have a git bisect stop command
[which does "git bisect reset HEAD"]
FWIW I like the idea. I end up using "git bisect reset" by accident
from time to time and it is almost never what I want, especially
after working on something else for a few days[1].
My only worry is that it could be confusing --- what if a person,
intending to run "git bisect reset", runs "git bisect stop" instead?
To mitigate that, the stop subcommand could print the name of the
start commit so such a user knows what to check out to get back to
a familiar state.
Christian Couder wrote:
> Yeah, many people find it difficult to reverse the meaning of "bad"
> and "good" when looking for a fix. There were some suggestions at some
> points to do something about it. Some of the suggestions were to use
> some aliases for "good" and "bad", but there was no agreement. Other
> suggestions had a patch attached but the patch was not good enough or
> something.
Any pointers to such a discussion or patch? Maybe whatever small
detail caused it to be forgotten could be fixed...
Ciao,
Jonathan
[1] compare am --abort:
http://thread.gmane.org/gmane.comp.version-control.git/164002
^ permalink raw reply
* Re: git bisect problems/ideas
From: SZEDER Gábor @ 2011-01-17 13:38 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Christian Couder, Aaron S. Meurer, git
In-Reply-To: <20110117115133.GA29207@burratino>
On Mon, Jan 17, 2011 at 05:51:33AM -0600, Jonathan Nieder wrote:
> Christian Couder wrote:
>
> > Yeah, many people find it difficult to reverse the meaning of "bad"
> > and "good" when looking for a fix. There were some suggestions at some
> > points to do something about it. Some of the suggestions were to use
> > some aliases for "good" and "bad", but there was no agreement. Other
> > suggestions had a patch attached but the patch was not good enough or
> > something.
>
> Any pointers to such a discussion or patch? Maybe whatever small
> detail caused it to be forgotten could be fixed...
http://thread.gmane.org/gmane.comp.version-control.git/86063
Best,
Gábor
^ permalink raw reply
* Best practice for merging
From: Mathieu Malaterre @ 2011-01-17 16:16 UTC (permalink / raw)
To: git
Hi all,
Sorry if this sound like a noob question, but this is something that
I am still not quite happy with (and google was not of any help). What
is the best way to handle merging in between a development branch and
a release branch.
Here is the state of my current branches:
$ git diff -w release..master | wc
156468 688491 5327390
$ git cherry release | wc
707 1414 30401
Should I go over all those 707 individual commit, and cherry-pick them
one-by-one ?
I know for example that I do not want to merge anything related to a
new app, eg 'app2.cxx', how would one do something like :
git merge master --not applications/app2.cxx ?
Same question, I know I want to apply any change that happen within a
subdirectory but not another (this might be a problem if a commit
contains both). Let's say I want everything but what ever happen in
directory libB, can I do:
git checkout release
git merge master
git rm -rf libs/libB
finally, If I try to apply any change directly
git checkout release
git checkout master applications/app1.cxx
This will loose the whole git history, is this a bad practice ?
Thanks a lot !
--
Mathieu
^ permalink raw reply
* Re: git bisect problems/ideas
From: Aaron S. Meurer @ 2011-01-17 18:23 UTC (permalink / raw)
To: Christian Couder; +Cc: git@vger.kernel.org
In-Reply-To: <AANLkTikNzpCwEieV8sXXctMm+DR69fkLfCF+F3xB6b-k@mail.gmail.com>
On Jan 17, 2011, at 2:38 AM, Christian Couder <christian.couder@gmail.com
> wrote:
> Hi,
>
> On Sat, Jan 15, 2011 at 8:33 AM, Aaron S. Meurer
> <asmeurer@gmail.com> wrote:
>> First off, do you guys have an issue tracker?
>
> No, we don't. We use the mailing list.
>
Well that's amazing to me. How on Earth fo you manage stuff?
>> I asked on IRC, and someone told me that he didn't think you did,
>> and to just post here. After searching your websites, as far as I
>> can tell he was right, though this is amazing to me that you can
>> handle a project like this without an issue tracker. If you guys
>> really do, then sorry. I would rather post this there than here
>> (though if you really do, please make it more findable!)
>>
>> I just noticed this error/bug:
>>
>> git checkout test
>> git bisect start
>> <do some bisecting>
>> git branch -D test
>> <finish bisecting>
>> git bisect reset
>>
>> And it gives an error, because test has been deleted. This is in
>> 1.7.3.5. Now, I looked through the log of the current master of
>> git to see if anything has been done about this, and all I noticed
>> was the commit 3bb8cf88247db5, which essentially improves the error
>> message.
>>
>> Now, this is good, because it seemed to me above that I was stuck
>> bisecting until I recreated the test branch. I did not realize the
>> git bisect <commit> syntax until later.
>
> You mean "git bisect reset <commit>".
>
Yes, of course. :)
>> But this has brought me to bother you guys about something that has
>> been bugging me for a while. I hate git bisect reset. 90% of the
>> time I do not want to go back to where I started bisecting. I
>> would much prefer to just have a git bisect stop command, which
>> just stops the bisecting process, but leaves me where I am (like a
>> shortcut to git bisect reset HEAD). This would be much more
>> symmetric with git bisect start.
>
> If more people want it, yeah, we can create such a shortcut. But you
> can also use a git alias for that.
>
Can you alias "git bisect stop", or would you have to alias "git
bisect-stop"?
>> While we are on the topic of bisecting, I have another issue. Can
>> we remove the restriction that a "bad" commit come after a "good"
>> commit? I'd say about 70% of the time I use bisect to find a
>> commit that fixes a bug, not breaks it. Whenever this happens, I
>> have to bend my mind over backwards to remind myself that the good
>> behavior is really "bad" and the bad behavior is really "good". Is
>> there a reason that git bisect can't just introspect from which
>> comes earlier and which comes later to see which is "good" or
>> "bad" (instead of just raising an error when they are in the
>> "wrong" order)?
>
> Yeah, many people find it difficult to reverse the meaning of "bad"
> and "good" when looking for a fix. There were some suggestions at some
> points to do something about it. Some of the suggestions were to use
> some aliases for "good" and "bad", but there was no agreement. Other
> suggestions had a patch attached but the patch was not good enough or
> something.
>
> Anyway, the restriction is that the "bad" commit cannot be an ancestor
> of a "good" commit. But the "good" commits need not be all ancestors
> of the "bad" commit. For example if you have a "master" branch and a
> "dev" branch that was forked from the "master" branch at one point,
> like that:
>
> A-B-C-D-E <-- master
> \F-G <-- dev
>
I don't understand how this can only be one way? Isn't this
symmetric? In other words, how is it different from
A-B-C-D-E <-- dev
\F-G <-- master
as far as bisect is concerned? Or maybe I am not entirely clear on
what you are saying.
> you can use one of the branch as "bad" and the other one as "good".
> And that means that in this case we cannot automatically reverse the
> meaning of "good" and "bad".
>
> So if we ever implement a "--reverse" mode, I think that the best we
> could do if we detect that a "bad" commit is an ancestor of a "good"
> commit is to suggest the use of this "--reverse" mode. Or we could ask
> and use this mode if the answer is yes.
>
> Best regards,
> Christian.
This would be an acceptable solution to me (--reverse with asking).
Aaron Meurer
^ permalink raw reply
* Re: git bisect problems/ideas
From: Aaron S. Meurer @ 2011-01-17 18:27 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Christian Couder, git@vger.kernel.org
In-Reply-To: <20110117115133.GA29207@burratino>
On Jan 17, 2011, at 4:51 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Hi,
>
>> Aaron S. Meurer wrote:
>
>>> 90% of the time I do not
>>> want to go back to where I started bisecting. I would much prefer
>>> to just
>>> have a git bisect stop command
> [which does "git bisect reset HEAD"]
>
> FWIW I like the idea. I end up using "git bisect reset" by accident
> from time to time and it is almost never what I want, especially
> after working on something else for a few days[1].
>
Things never get quite that bad for me brcause I gave the git_ps1 in
my $PS1, so it tells me when I am bisecting and so I never forget to
reset soon after I am done. Ditto for am.
Aaron Meurer
> My only worry is that it could be confusing --- what if a person,
> intending to run "git bisect reset", runs "git bisect stop" instead?
> To mitigate that, the stop subcommand could print the name of the
> start commit so such a user knows what to check out to get back to
> a familiar state.
>
> Christian Couder wrote:
>
>> Yeah, many people find it difficult to reverse the meaning of "bad"
>> and "good" when looking for a fix. There were some suggestions at
>> some
>> points to do something about it. Some of the suggestions were to use
>> some aliases for "good" and "bad", but there was no agreement. Other
>> suggestions had a patch attached but the patch was not good enough or
>> something.
>
> Any pointers to such a discussion or patch? Maybe whatever small
> detail caused it to be forgotten could be fixed...
>
> Ciao,
> Jonathan
>
> [1] compare am --abort:
> http://thread.gmane.org/gmane.comp.version-control.git/164002
^ permalink raw reply
* Re: panic recovery
From: Junio C Hamano @ 2011-01-17 18:42 UTC (permalink / raw)
To: Levend Sayar; +Cc: git, Eda Ercan
In-Reply-To: <AANLkTikBjWU_dm1a+2AQyP-bhdO_WtYJ8OdE7Zs3E=kV@mail.gmail.com>
Levend Sayar <levendsayar@gmail.com> writes:
> Yesterday one of my colleague tried to commit her two weeks of work.
> Nearly 10 source code files.
Ok.
> After an unsuccessful am and apply commands, she tried rebase. And git
> bothered something like you have to finish your am first.
I do not get this for two reasons.
What does "am" and "apply" have anything to do with committing her own
work in her own working tree to begin with? And even if "am" and/or
"apply" were the right tools for committing hear work, that would mean she
had the changes to be committed neatly made into patch form suitable to be
fed to these commands, so I would imagine that the recovery is just the
matter of "reset --hard" followed by attempts to apply those patches again
and fixing rejects more carefully than the first failed attempt?
A practical suggestion, without knowing what really went wrong, that would
be valuable, especially for git beginners but applicable also to git
experts, is this. First commit your own work proper before doing anything
that may cause conflicts such as merging other's possibly unrelated work
(e.g. merge, am, ...). Then do such mergy operation to make separate
commits. You can do fancy things like combining changes into a single
commit _after_ doing so, and it will be much safer because at the worst
case you will be unable to achieve the fanciness (e.g. combining the
changes) but will have the working results (i.e. a commit with your own
changes, and separate commits recording others changes).
^ permalink raw reply
* EOL strangeness
From: Graham Sanderson @ 2011-01-17 19:56 UTC (permalink / raw)
To: git
Apologies if someone has answered this before:
So we have moved some big teams over to git (awesome thx), and have
been using the msysgit default core.autocrlf=true on Windows, and
making sure text files are LF on other platforms
However we do continue to have a few problems with people storing CRLF
in the repository (partly because of lack of understanding, and partly
it seems because of eGit on windows which ignores core.autocrlf).
Anyway, this much is all fine, and we can fix; what I don't understand
is why for files stored as CRLF in the repository it seems
indeterminate when or if they show up locally modified (on my window
box with core.autocrlf = true) when I pull them from the repository. I
assume the idea is that that they "would be" modified if I were to
check them in, since they would be converted to LF, however this only
happens sometimes and for a seemingly random subset of the files
stored incorrectly.
It also seems to depend on the state of the local index, as recreating
the local index often changes the set of files that are displayed this
way (even without any changes to the files), and it also seems to be
different on different machines (perhaps based on when they happened
to pull code).
If anyone can give me a quick mental picture of how this is supposed
to work (i.e. at what time the eol conversions are considered) then
that'd be great... otherwise I guess I'll go dig in the code.
Thanks,
Graham.
^ permalink raw reply
* Re: git bisect problems/ideas
From: Jonathan Nieder @ 2011-01-17 20:55 UTC (permalink / raw)
To: SZEDER Gábor; +Cc: Christian Couder, Aaron S. Meurer, git
In-Reply-To: <20110117133843.GA23625@neumann>
SZEDER Gábor wrote:
> On Mon, Jan 17, 2011 at 05:51:33AM -0600, Jonathan Nieder wrote:
>> Christian Couder wrote:
>>> Yeah, many people find it difficult to reverse the meaning of "bad"
>>> and "good" when looking for a fix. There were some suggestions at some
>>> points to do something about it. Some of the suggestions were to use
>>> some aliases for "good" and "bad", but there was no agreement. Other
>>> suggestions had a patch attached but the patch was not good enough or
>>> something.
>>
>> Any pointers to such a discussion or patch? Maybe whatever small
>> detail caused it to be forgotten could be fixed...
>
> http://thread.gmane.org/gmane.comp.version-control.git/86063
A better link for those who are thinking of picking up the topic might
be [1].
The problems were:
- error messages refer to "good" and "bad" with the original,
unreversed meaning, which could be confusing (but see later in the
thread!).
- "git bisect visualize" doesn't get the memo about the new worldview.
- it seems that some people lost interest after a while.
None of these seems totally fatal --- as a new feature, it would not
be breaking anyone's workflow, especially if the potentially confusing
bits are clearly documented.
Thanks.
[1] http://thread.gmane.org/gmane.comp.version-control.git/86089/focus=86161
^ permalink raw reply
* [PATCH 0/3] git-gui: update russian translation
From: Alex Riesen @ 2011-01-17 21:08 UTC (permalink / raw)
To: git
Cc: Shawn O. Pearce, Pat Thoyts, Serge Ziryukin, Dmitry Potapov,
Alexander Gavrilov
Thanks to Skip, who reminded me of the russian translation, here is a very
small collection of still applicable patches I collected in mailing list
archives. The ru.po is also updated.
Alex Riesen (1):
git-gui: update russian translation
Serge Ziryukin (1):
fix git-gui russian translation typos
Skip (1):
git-gui: spelling fixes in russian translation
po/ru.po | 623 ++++++++++++++++++++++++++++++++------------------------------
1 files changed, 321 insertions(+), 302 deletions(-)
--
1.7.3.4.643.g8fb2b
^ permalink raw reply
* [PATCH 1/3] fix git-gui russian translation typos
From: Alex Riesen @ 2011-01-17 21:08 UTC (permalink / raw)
To: git
Cc: Shawn O. Pearce, Pat Thoyts, Serge Ziryukin, Dmitry Potapov,
Alexander Gavrilov
In-Reply-To: <cover.1295295897.git.raa.lkml@gmail.com>
From: Serge Ziryukin <ftrvxmtrx@gmail.com>
Signed-off-by: Serge Ziryukin <ftrvxmtrx@gmail.com>
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
I rebased your patch onto current git-gui. Hope you don't mind.
po/ru.po | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/po/ru.po b/po/ru.po
index 364c074..c15bdfa 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -2292,11 +2292,11 @@ msgstr "Словарь вернут к %s."
#: lib/spellcheck.tcl:73
msgid "Spell checker silently failed on startup"
-msgstr "Программа проверки правописания не смогла запустится"
+msgstr "Программа проверки правописания не смогла запуститься"
#: lib/spellcheck.tcl:80
msgid "Unrecognized spell checker"
-msgstr "Нераспознаная программа проверки правописания"
+msgstr "Нераспознанная программа проверки правописания"
#: lib/spellcheck.tcl:186
msgid "No Suggestions"
--
1.7.3.4.643.g8fb2b
^ permalink raw reply related
* [PATCH 2/3] git-gui: spelling fixes in russian translation
From: Alex Riesen @ 2011-01-17 21:08 UTC (permalink / raw)
To: git
Cc: Shawn O. Pearce, Pat Thoyts, Serge Ziryukin, Dmitry Potapov,
Alexander Gavrilov
In-Reply-To: <1c96343bbf6fb30e7453c3df7b49ea31667e0469.1295295897.git.raa.lkml@gmail.com>
From: Skip <bsvskip@rambler.ru>
Signed-off-by: Skip <bsvskip@rambler.ru>
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
po/ru.po | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/po/ru.po b/po/ru.po
index c15bdfa..304bb3a 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1342,7 +1342,7 @@ msgid ""
"File %s has merge conflicts. You must resolve them and stage the file "
"before committing.\n"
msgstr ""
-"Нельзя сохранить файлы с незавершённой операцей слияния.\n"
+"Нельзя сохранить файлы с незавершённой операцией слияния.\n"
"\n"
"Для файла %s возник конфликт слияния. Разрешите конфликт и добавьте к "
"подготовленным файлам перед сохранением.\n"
@@ -1440,7 +1440,7 @@ msgstr ""
#: lib/commit.tcl:338
msgid "No changes to commit."
-msgstr "Отуствуют измения для сохранения."
+msgstr "Отсутствуют изменения для сохранения."
#: lib/commit.tcl:352
msgid "commit-tree failed:"
@@ -1540,7 +1540,7 @@ msgid ""
msgstr ""
"Изменений не обнаружено.\n"
"\n"
-"в %s отутствуют изменения.\n"
+"в %s отсутствуют изменения.\n"
"\n"
"Дата изменения файла была обновлена другой программой, но содержимое файла "
"осталось прежним.\n"
@@ -1599,7 +1599,7 @@ msgid ""
"* Untracked file is %d bytes.\n"
"* Showing only first %d bytes.\n"
msgstr ""
-"* Размер неподготовленого файла %d байт.\n"
+"* Размер неподготовленного файла %d байт.\n"
"* Показано первых %d байт.\n"
#: lib/diff.tcl:228
@@ -1610,7 +1610,7 @@ msgid ""
"* To see the entire file, use an external editor.\n"
msgstr ""
"\n"
-"* Неподготовленый файл обрезан: %s.\n"
+"* Неподготовленный файл обрезан: %s.\n"
"* Чтобы увидеть весь файл, используйте программу-редактор.\n"
#: lib/diff.tcl:436
@@ -1667,7 +1667,7 @@ msgid ""
"Updating the Git index failed. A rescan will be automatically started to "
"resynchronize git-gui."
msgstr ""
-"Не удалось обновить индекс Git. Состояние репозитория будетперечитано "
+"Не удалось обновить индекс Git. Состояние репозитория будет перечитано "
"автоматически."
#: lib/index.tcl:27
@@ -1714,7 +1714,7 @@ msgstr "Ничего не делать"
#: lib/index.tcl:427
msgid "Reverting selected files"
-msgstr "Удаление изменений в выбраных файлах"
+msgstr "Удаление изменений в выбранных файлах"
#: lib/index.tcl:431
#, tcl-format
@@ -1778,7 +1778,7 @@ msgstr ""
"\n"
"Файл %s изменен.\n"
"\n"
-"Подготовьте и сохраните измения перед началом слияния. В случае "
+"Подготовьте и сохраните изменения перед началом слияния. В случае "
"необходимости это позволит прервать операцию слияния.\n"
#: lib/merge.tcl:107
@@ -1893,7 +1893,7 @@ msgstr ""
#, tcl-format
msgid "File %s seems to have unresolved conflicts, still stage?"
msgstr ""
-"Файл %s кажется содержит необработаные конфликты. Продолжить подготовку к "
+"Файл %s кажется содержит необработанные конфликты. Продолжить подготовку к "
"сохранению?"
#: lib/mergetool.tcl:60
@@ -2152,7 +2152,7 @@ msgstr "Получение %s"
#: lib/remote_add.tcl:157
#, tcl-format
msgid "Do not know how to initialize repository at location '%s'."
-msgstr "Невозможно инициалировать репозиторий в '%s'."
+msgstr "Невозможно инициализировать репозиторий в '%s'."
#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63
#: lib/transport.tcl:81
@@ -2179,7 +2179,7 @@ msgstr "внешний:"
#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149
msgid "Arbitrary Location:"
-msgstr "Указаное положение:"
+msgstr "Указанное положение:"
#: lib/remote_branch_delete.tcl:84
msgid "Branches"
@@ -2412,7 +2412,7 @@ msgstr "Описание вспомогательной операции"
#: lib/tools_dlg.tcl:48
msgid "Use '/' separators to create a submenu tree:"
-msgstr "Испольуйте '/' для создания подменю"
+msgstr "Используйте '/' для создания подменю"
#: lib/tools_dlg.tcl:61
msgid "Command:"
--
1.7.3.4.643.g8fb2b
^ permalink raw reply related
* [PATCH 3/3] git-gui: update russian translation
From: Alex Riesen @ 2011-01-17 21:08 UTC (permalink / raw)
To: git
Cc: Shawn O. Pearce, Pat Thoyts, Serge Ziryukin, Dmitry Potapov,
Alexander Gavrilov
In-Reply-To: <eeaaba6d48de958b374cb06f1b12db3b8e0550ea.1295295897.git.raa.lkml@gmail.com>
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
po/ru.po | 595 ++++++++++++++++++++++++++++++++------------------------------
1 files changed, 307 insertions(+), 288 deletions(-)
diff --git a/po/ru.po b/po/ru.po
index 304bb3a..7071a8c 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-08 08:31-0800\n"
+"POT-Creation-Date: 2010-01-26 15:47-0800\n"
"PO-Revision-Date: 2007-10-22 22:30-0200\n"
"Last-Translator: Alex Riesen <raa.lkml@gmail.com>\n"
"Language-Team: Russian Translation <git@vger.kernel.org>\n"
@@ -15,33 +15,33 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847
-#: git-gui.sh:866
+#: git-gui.sh:41 git-gui.sh:793 git-gui.sh:807 git-gui.sh:820 git-gui.sh:903
+#: git-gui.sh:922
msgid "git-gui: fatal error"
msgstr "git-gui: критическая ошибка"
-#: git-gui.sh:689
+#: git-gui.sh:743
#, tcl-format
msgid "Invalid font specified in %s:"
msgstr "В %s установлен неверный шрифт:"
-#: git-gui.sh:723
+#: git-gui.sh:779
msgid "Main Font"
msgstr "Шрифт интерфейса"
-#: git-gui.sh:724
+#: git-gui.sh:780
msgid "Diff/Console Font"
msgstr "Шрифт консоли и изменений (diff)"
-#: git-gui.sh:738
+#: git-gui.sh:794
msgid "Cannot find git in PATH."
msgstr "git не найден в PATH."
-#: git-gui.sh:765
+#: git-gui.sh:821
msgid "Cannot parse Git version string:"
msgstr "Невозможно распознать строку версии Git: "
-#: git-gui.sh:783
+#: git-gui.sh:839
#, tcl-format
msgid ""
"Git version cannot be determined.\n"
@@ -60,450 +60,474 @@ msgstr ""
"\n"
"Принять '%s' как версию 1.5.0?\n"
-#: git-gui.sh:1062
+#: git-gui.sh:1128
msgid "Git directory not found:"
msgstr "Каталог Git не найден:"
-#: git-gui.sh:1069
+#: git-gui.sh:1146
msgid "Cannot move to top of working directory:"
msgstr "Невозможно перейти к корню рабочего каталога репозитория: "
-#: git-gui.sh:1076
-msgid "Cannot use funny .git directory:"
-msgstr "Каталог .git испорчен: "
+#: git-gui.sh:1154
+msgid "Cannot use bare repository:"
+msgstr "Невозможно использование репозитория без рабочего каталога:"
-#: git-gui.sh:1081
+#: git-gui.sh:1162
msgid "No working directory"
msgstr "Отсутствует рабочий каталог"
-#: git-gui.sh:1247 lib/checkout_op.tcl:305
+#: git-gui.sh:1334 lib/checkout_op.tcl:306
msgid "Refreshing file status..."
msgstr "Обновление информации о состоянии файлов..."
-#: git-gui.sh:1303
+#: git-gui.sh:1390
msgid "Scanning for modified files ..."
msgstr "Поиск измененных файлов..."
-#: git-gui.sh:1367
+#: git-gui.sh:1454
msgid "Calling prepare-commit-msg hook..."
msgstr "Вызов программы поддержки репозитория prepare-commit-msg..."
-#: git-gui.sh:1384
+#: git-gui.sh:1471
msgid "Commit declined by prepare-commit-msg hook."
msgstr ""
"Сохранение прервано программой поддержки репозитория prepare-commit-msg"
-#: git-gui.sh:1542 lib/browser.tcl:246
+#: git-gui.sh:1629 lib/browser.tcl:246
msgid "Ready."
msgstr "Готово."
-#: git-gui.sh:1726
+#: git-gui.sh:1787
#, tcl-format
msgid "Displaying only %s of %s files."
msgstr "Показано %s из %s файлов."
-#: git-gui.sh:1819
+#: git-gui.sh:1913
msgid "Unmodified"
msgstr "Не изменено"
-#: git-gui.sh:1821
+#: git-gui.sh:1915
msgid "Modified, not staged"
msgstr "Изменено, не подготовлено"
-#: git-gui.sh:1822 git-gui.sh:1830
+#: git-gui.sh:1916 git-gui.sh:1924
msgid "Staged for commit"
msgstr "Подготовлено для сохранения"
-#: git-gui.sh:1823 git-gui.sh:1831
+#: git-gui.sh:1917 git-gui.sh:1925
msgid "Portions staged for commit"
msgstr "Части, подготовленные для сохранения"
-#: git-gui.sh:1824 git-gui.sh:1832
+#: git-gui.sh:1918 git-gui.sh:1926
msgid "Staged for commit, missing"
msgstr "Подготовлено для сохранения, отсутствует"
-#: git-gui.sh:1826
+#: git-gui.sh:1920
msgid "File type changed, not staged"
msgstr "Тип файла изменён, не подготовлено"
-#: git-gui.sh:1827
+#: git-gui.sh:1921
msgid "File type changed, staged"
msgstr "Тип файла изменён, подготовлено"
-#: git-gui.sh:1829
+#: git-gui.sh:1923
msgid "Untracked, not staged"
msgstr "Не отслеживается, не подготовлено"
-#: git-gui.sh:1834
+#: git-gui.sh:1928
msgid "Missing"
msgstr "Отсутствует"
-#: git-gui.sh:1835
+#: git-gui.sh:1929
msgid "Staged for removal"
msgstr "Подготовлено для удаления"
-#: git-gui.sh:1836
+#: git-gui.sh:1930
msgid "Staged for removal, still present"
msgstr "Подготовлено для удаления, еще не удалено"
-#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841
-#: git-gui.sh:1842 git-gui.sh:1843
+#: git-gui.sh:1932 git-gui.sh:1933 git-gui.sh:1934 git-gui.sh:1935
+#: git-gui.sh:1936 git-gui.sh:1937
msgid "Requires merge resolution"
msgstr "Требуется разрешение конфликта при слиянии"
-#: git-gui.sh:1878
+#: git-gui.sh:1972
msgid "Starting gitk... please wait..."
msgstr "Запускается gitk... Подождите, пожалуйста..."
-#: git-gui.sh:1887
+#: git-gui.sh:1984
msgid "Couldn't find gitk in PATH"
msgstr "gitk не найден в PATH."
-#: git-gui.sh:2280 lib/choose_repository.tcl:36
+#: git-gui.sh:2043
+msgid "Couldn't find git gui in PATH"
+msgstr "git gui не найден в PATH."
+
+#: git-gui.sh:2455 lib/choose_repository.tcl:36
msgid "Repository"
msgstr "Репозиторий"
-#: git-gui.sh:2281
+#: git-gui.sh:2456
msgid "Edit"
msgstr "Редактировать"
-#: git-gui.sh:2283 lib/choose_rev.tcl:561
+#: git-gui.sh:2458 lib/choose_rev.tcl:561
msgid "Branch"
msgstr "Ветвь"
-#: git-gui.sh:2286 lib/choose_rev.tcl:548
+#: git-gui.sh:2461 lib/choose_rev.tcl:548
msgid "Commit@@noun"
msgstr "Состояние"
-#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
+#: git-gui.sh:2464 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
msgid "Merge"
msgstr "Слияние"
-#: git-gui.sh:2290 lib/choose_rev.tcl:557
+#: git-gui.sh:2465 lib/choose_rev.tcl:557
msgid "Remote"
msgstr "Внешние репозитории"
-#: git-gui.sh:2293
+#: git-gui.sh:2468
msgid "Tools"
msgstr "Вспомогательные операции"
-#: git-gui.sh:2302
+#: git-gui.sh:2477
msgid "Explore Working Copy"
msgstr "Просмотр рабочего каталога"
-#: git-gui.sh:2307
+#: git-gui.sh:2483
msgid "Browse Current Branch's Files"
msgstr "Просмотреть файлы текущей ветви"
-#: git-gui.sh:2311
+#: git-gui.sh:2487
msgid "Browse Branch Files..."
msgstr "Показать файлы ветви..."
-#: git-gui.sh:2316
+#: git-gui.sh:2492
msgid "Visualize Current Branch's History"
msgstr "Показать историю текущей ветви"
-#: git-gui.sh:2320
+#: git-gui.sh:2496
msgid "Visualize All Branch History"
msgstr "Показать историю всех ветвей"
-#: git-gui.sh:2327
+#: git-gui.sh:2503
#, tcl-format
msgid "Browse %s's Files"
msgstr "Показать файлы ветви %s"
-#: git-gui.sh:2329
+#: git-gui.sh:2505
#, tcl-format
msgid "Visualize %s's History"
msgstr "Показать историю ветви %s"
-#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67
+#: git-gui.sh:2510 lib/database.tcl:27 lib/database.tcl:67
msgid "Database Statistics"
msgstr "Статистика базы данных"
-#: git-gui.sh:2337 lib/database.tcl:34
+#: git-gui.sh:2513 lib/database.tcl:34
msgid "Compress Database"
msgstr "Сжать базу данных"
-#: git-gui.sh:2340
+#: git-gui.sh:2516
msgid "Verify Database"
msgstr "Проверить базу данных"
-#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7
-#: lib/shortcut.tcl:39 lib/shortcut.tcl:71
+#: git-gui.sh:2523 git-gui.sh:2527 git-gui.sh:2531 lib/shortcut.tcl:8
+#: lib/shortcut.tcl:40 lib/shortcut.tcl:72
msgid "Create Desktop Icon"
msgstr "Создать ярлык на рабочем столе"
-#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191
+#: git-gui.sh:2539 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191
msgid "Quit"
msgstr "Выход"
-#: git-gui.sh:2371
+#: git-gui.sh:2547
msgid "Undo"
msgstr "Отменить"
-#: git-gui.sh:2374
+#: git-gui.sh:2550
msgid "Redo"
msgstr "Повторить"
-#: git-gui.sh:2378 git-gui.sh:2937
+#: git-gui.sh:2554 git-gui.sh:3109
msgid "Cut"
msgstr "Вырезать"
-#: git-gui.sh:2381 git-gui.sh:2940 git-gui.sh:3014 git-gui.sh:3096
+#: git-gui.sh:2557 git-gui.sh:3112 git-gui.sh:3186 git-gui.sh:3259
#: lib/console.tcl:69
msgid "Copy"
msgstr "Копировать"
-#: git-gui.sh:2384 git-gui.sh:2943
+#: git-gui.sh:2560 git-gui.sh:3115
msgid "Paste"
msgstr "Вставить"
-#: git-gui.sh:2387 git-gui.sh:2946 lib/branch_delete.tcl:26
+#: git-gui.sh:2563 git-gui.sh:3118 lib/branch_delete.tcl:26
#: lib/remote_branch_delete.tcl:38
msgid "Delete"
msgstr "Удалить"
-#: git-gui.sh:2391 git-gui.sh:2950 git-gui.sh:3100 lib/console.tcl:71
+#: git-gui.sh:2567 git-gui.sh:3122 git-gui.sh:3263 lib/console.tcl:71
msgid "Select All"
msgstr "Выделить все"
-#: git-gui.sh:2400
+#: git-gui.sh:2576
msgid "Create..."
msgstr "Создать..."
-#: git-gui.sh:2406
+#: git-gui.sh:2582
msgid "Checkout..."
msgstr "Перейти..."
-#: git-gui.sh:2412
+#: git-gui.sh:2588
msgid "Rename..."
msgstr "Переименовать..."
-#: git-gui.sh:2417
+#: git-gui.sh:2593
msgid "Delete..."
msgstr "Удалить..."
-#: git-gui.sh:2422
+#: git-gui.sh:2598
msgid "Reset..."
msgstr "Сбросить..."
-#: git-gui.sh:2432
+#: git-gui.sh:2608
msgid "Done"
msgstr "Завершено"
-#: git-gui.sh:2434
+#: git-gui.sh:2610
msgid "Commit@@verb"
msgstr "Сохранить"
-#: git-gui.sh:2443 git-gui.sh:2878
+#: git-gui.sh:2619 git-gui.sh:3050
msgid "New Commit"
msgstr "Новое состояние"
-#: git-gui.sh:2451 git-gui.sh:2885
+#: git-gui.sh:2627 git-gui.sh:3057
msgid "Amend Last Commit"
msgstr "Исправить последнее состояние"
-#: git-gui.sh:2461 git-gui.sh:2839 lib/remote_branch_delete.tcl:99
+#: git-gui.sh:2637 git-gui.sh:3011 lib/remote_branch_delete.tcl:99
msgid "Rescan"
msgstr "Перечитать"
-#: git-gui.sh:2467
+#: git-gui.sh:2643
msgid "Stage To Commit"
msgstr "Подготовить для сохранения"
-#: git-gui.sh:2473
+#: git-gui.sh:2649
msgid "Stage Changed Files To Commit"
msgstr "Подготовить измененные файлы для сохранения"
-#: git-gui.sh:2479
+#: git-gui.sh:2655
msgid "Unstage From Commit"
msgstr "Убрать из подготовленного"
-#: git-gui.sh:2484 lib/index.tcl:410
+#: git-gui.sh:2661 lib/index.tcl:412
msgid "Revert Changes"
msgstr "Отменить изменения"
-#: git-gui.sh:2491 git-gui.sh:3083
+#: git-gui.sh:2669 git-gui.sh:3310 git-gui.sh:3341
msgid "Show Less Context"
msgstr "Меньше контекста"
-#: git-gui.sh:2495 git-gui.sh:3087
+#: git-gui.sh:2673 git-gui.sh:3314 git-gui.sh:3345
msgid "Show More Context"
msgstr "Больше контекста"
-#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961
+#: git-gui.sh:2680 git-gui.sh:3024 git-gui.sh:3133
msgid "Sign Off"
msgstr "Вставить Signed-off-by"
-#: git-gui.sh:2518
+#: git-gui.sh:2696
msgid "Local Merge..."
msgstr "Локальное слияние..."
-#: git-gui.sh:2523
+#: git-gui.sh:2701
msgid "Abort Merge..."
msgstr "Прервать слияние..."
-#: git-gui.sh:2535 git-gui.sh:2575
+#: git-gui.sh:2713 git-gui.sh:2741
msgid "Add..."
msgstr "Добавить..."
-#: git-gui.sh:2539
+#: git-gui.sh:2717
msgid "Push..."
msgstr "Отправить..."
-#: git-gui.sh:2543
+#: git-gui.sh:2721
msgid "Delete Branch..."
msgstr "Удалить ветвь..."
-#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14
-#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53
-#, tcl-format
-msgid "About %s"
-msgstr "О %s"
-
-#: git-gui.sh:2557
-msgid "Preferences..."
-msgstr "Настройки..."
-
-#: git-gui.sh:2565 git-gui.sh:3129
+#: git-gui.sh:2731 git-gui.sh:3292
msgid "Options..."
msgstr "Настройки..."
-#: git-gui.sh:2576
+#: git-gui.sh:2742
msgid "Remove..."
msgstr "Удалить..."
-#: git-gui.sh:2585 lib/choose_repository.tcl:50
+#: git-gui.sh:2751 lib/choose_repository.tcl:50
msgid "Help"
msgstr "Помощь"
-#: git-gui.sh:2611
+#: git-gui.sh:2755 git-gui.sh:2759 lib/about.tcl:14
+#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53
+#, tcl-format
+msgid "About %s"
+msgstr "О %s"
+
+#: git-gui.sh:2783
msgid "Online Documentation"
msgstr "Документация в интернете"
-#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56
+#: git-gui.sh:2786 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56
msgid "Show SSH Key"
msgstr "Показать ключ SSH"
-#: git-gui.sh:2721
+#: git-gui.sh:2893
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
msgstr "критическая ошибка: %s: нет такого файла или каталога"
-#: git-gui.sh:2754
+#: git-gui.sh:2926
msgid "Current Branch:"
msgstr "Текущая ветвь:"
-#: git-gui.sh:2775
+#: git-gui.sh:2947
msgid "Staged Changes (Will Commit)"
msgstr "Подготовлено (будет сохранено)"
-#: git-gui.sh:2795
+#: git-gui.sh:2967
msgid "Unstaged Changes"
msgstr "Изменено (не будет сохранено)"
-#: git-gui.sh:2845
+#: git-gui.sh:3017
msgid "Stage Changed"
msgstr "Подготовить все"
-#: git-gui.sh:2864 lib/transport.tcl:104 lib/transport.tcl:193
+#: git-gui.sh:3036 lib/transport.tcl:104 lib/transport.tcl:193
msgid "Push"
msgstr "Отправить"
-#: git-gui.sh:2899
+#: git-gui.sh:3071
msgid "Initial Commit Message:"
msgstr "Комментарий к первому состоянию:"
-#: git-gui.sh:2900
+#: git-gui.sh:3072
msgid "Amended Commit Message:"
msgstr "Комментарий к исправленному состоянию:"
-#: git-gui.sh:2901
+#: git-gui.sh:3073
msgid "Amended Initial Commit Message:"
msgstr "Комментарий к исправленному первоначальному состоянию:"
-#: git-gui.sh:2902
+#: git-gui.sh:3074
msgid "Amended Merge Commit Message:"
msgstr "Комментарий к исправленному слиянию:"
-#: git-gui.sh:2903
+#: git-gui.sh:3075
msgid "Merge Commit Message:"
msgstr "Комментарий к слиянию:"
-#: git-gui.sh:2904
+#: git-gui.sh:3076
msgid "Commit Message:"
msgstr "Комментарий к состоянию:"
-#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73
+#: git-gui.sh:3125 git-gui.sh:3267 lib/console.tcl:73
msgid "Copy All"
msgstr "Копировать все"
-#: git-gui.sh:2977 lib/blame.tcl:104
+#: git-gui.sh:3149 lib/blame.tcl:104
msgid "File:"
msgstr "Файл:"
-#: git-gui.sh:3092
+#: git-gui.sh:3255
msgid "Refresh"
msgstr "Обновить"
-#: git-gui.sh:3113
+#: git-gui.sh:3276
msgid "Decrease Font Size"
msgstr "Уменьшить размер шрифта"
-#: git-gui.sh:3117
+#: git-gui.sh:3280
msgid "Increase Font Size"
msgstr "Увеличить размер шрифта"
-#: git-gui.sh:3125 lib/blame.tcl:281
+#: git-gui.sh:3288 lib/blame.tcl:281
msgid "Encoding"
msgstr "Кодировка"
-#: git-gui.sh:3136
+#: git-gui.sh:3299
msgid "Apply/Reverse Hunk"
msgstr "Применить/Убрать изменение"
-#: git-gui.sh:3141
+#: git-gui.sh:3304
msgid "Apply/Reverse Line"
msgstr "Применить/Убрать строку"
-#: git-gui.sh:3151
+#: git-gui.sh:3323
msgid "Run Merge Tool"
msgstr "Запустить программу слияния"
-#: git-gui.sh:3156
+#: git-gui.sh:3328
msgid "Use Remote Version"
msgstr "Взять внешнюю версию"
-#: git-gui.sh:3160
+#: git-gui.sh:3332
msgid "Use Local Version"
msgstr "Взять локальную версию"
-#: git-gui.sh:3164
+#: git-gui.sh:3336
msgid "Revert To Base"
msgstr "Отменить изменения"
-#: git-gui.sh:3183
+#: git-gui.sh:3354
+msgid "Visualize These Changes In The Submodule"
+msgstr ""
+
+#: git-gui.sh:3358
+msgid "Visualize Current Branch History In The Submodule"
+msgstr "Показать историю текущей ветви подмодуля"
+
+#: git-gui.sh:3362
+msgid "Visualize All Branch History In The Submodule"
+msgstr "Показать историю всех ветвей подмодуля"
+
+#: git-gui.sh:3367
+msgid "Start git gui In The Submodule"
+msgstr ""
+
+#: git-gui.sh:3389
msgid "Unstage Hunk From Commit"
msgstr "Не сохранять часть"
-#: git-gui.sh:3184
+#: git-gui.sh:3391
+msgid "Unstage Lines From Commit"
+msgstr "Убрать строки из подготовленного"
+
+#: git-gui.sh:3393
msgid "Unstage Line From Commit"
msgstr "Убрать строку из подготовленного"
-#: git-gui.sh:3186
+#: git-gui.sh:3396
msgid "Stage Hunk For Commit"
msgstr "Подготовить часть для сохранения"
-#: git-gui.sh:3187
+#: git-gui.sh:3398
+msgid "Stage Lines For Commit"
+msgstr "Подготовить строки для сохранения"
+
+#: git-gui.sh:3400
msgid "Stage Line For Commit"
msgstr "Подготовить строку для сохранения"
-#: git-gui.sh:3210
+#: git-gui.sh:3424
msgid "Initializing..."
msgstr "Инициализация..."
-#: git-gui.sh:3315
+#: git-gui.sh:3541
#, tcl-format
msgid ""
"Possible environment issues exist.\n"
@@ -520,7 +544,7 @@ msgstr ""
"запущенными из %s\n"
"\n"
-#: git-gui.sh:3345
+#: git-gui.sh:3570
msgid ""
"\n"
"This is due to a known issue with the\n"
@@ -530,7 +554,7 @@ msgstr ""
"Это известная проблема с Tcl,\n"
"распространяемым Cygwin."
-#: git-gui.sh:3350
+#: git-gui.sh:3575
#, tcl-format
msgid ""
"\n"
@@ -640,7 +664,7 @@ msgstr "Невозможно найти состояние предка:"
msgid "Unable to display parent"
msgstr "Не могу показать предка"
-#: lib/blame.tcl:1091 lib/diff.tcl:297
+#: lib/blame.tcl:1091 lib/diff.tcl:320
msgid "Error loading diff:"
msgstr "Ошибка загрузки изменений:"
@@ -666,7 +690,7 @@ msgstr "Перейти"
#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35
#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282
-#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172
+#: lib/checkout_op.tcl:579 lib/choose_font.tcl:43 lib/merge.tcl:172
#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42
#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352
#: lib/transport.tcl:108
@@ -697,7 +721,7 @@ msgstr "Создание ветви"
msgid "Create New Branch"
msgstr "Создать новую ветвь"
-#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377
+#: lib/branch_create.tcl:31 lib/choose_repository.tcl:381
msgid "Create"
msgstr "Создать"
@@ -729,7 +753,7 @@ msgstr "Нет"
msgid "Fast Forward Only"
msgstr "Только Fast Forward"
-#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536
+#: lib/branch_create.tcl:85 lib/checkout_op.tcl:571
msgid "Reset"
msgstr "Сброс"
@@ -771,8 +795,8 @@ msgstr "Локальные ветви"
msgid "Delete Only If Merged Into"
msgstr "Удалить только в случае, если было слияние с"
-#: lib/branch_delete.tcl:54
-msgid "Always (Do not perform merge test.)"
+#: lib/branch_delete.tcl:54 lib/remote_branch_delete.tcl:119
+msgid "Always (Do not perform merge checks)"
msgstr "Всегда (не выполнять проверку на слияние)"
#: lib/branch_delete.tcl:103
@@ -780,6 +804,16 @@ msgstr "Всегда (не выполнять проверку на слияни
msgid "The following branches are not completely merged into %s:"
msgstr "Ветви, которые не полностью сливаются с %s:"
+#: lib/branch_delete.tcl:115 lib/remote_branch_delete.tcl:217
+msgid ""
+"Recovering deleted branches is difficult.\n"
+"\n"
+"Delete the selected branches?"
+msgstr ""
+"Восстановить удаленные ветви сложно.\n"
+"\n"
+"Продолжить?"
+
#: lib/branch_delete.tcl:141
#, tcl-format
msgid ""
@@ -809,7 +843,7 @@ msgstr "Новое название:"
msgid "Please select a branch to rename."
msgstr "Укажите ветвь для переименования."
-#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201
+#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:202
#, tcl-format
msgid "Branch '%s' already exists."
msgstr "Ветвь '%s' уже существует."
@@ -840,38 +874,38 @@ msgstr "[На уровень выше]"
msgid "Browse Branch Files"
msgstr "Показать файлы ветви"
-#: lib/browser.tcl:278 lib/choose_repository.tcl:394
-#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491
-#: lib/choose_repository.tcl:995
+#: lib/browser.tcl:278 lib/choose_repository.tcl:398
+#: lib/choose_repository.tcl:486 lib/choose_repository.tcl:497
+#: lib/choose_repository.tcl:1028
msgid "Browse"
msgstr "Показать"
-#: lib/checkout_op.tcl:84
+#: lib/checkout_op.tcl:85
#, tcl-format
msgid "Fetching %s from %s"
msgstr "Получение %s из %s "
-#: lib/checkout_op.tcl:132
+#: lib/checkout_op.tcl:133
#, tcl-format
msgid "fatal: Cannot resolve %s"
msgstr "критическая ошибка: невозможно разрешить %s"
-#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31
+#: lib/checkout_op.tcl:146 lib/console.tcl:81 lib/database.tcl:31
#: lib/sshkey.tcl:53
msgid "Close"
msgstr "Закрыть"
-#: lib/checkout_op.tcl:174
+#: lib/checkout_op.tcl:175
#, tcl-format
msgid "Branch '%s' does not exist."
msgstr "Ветвь '%s' не существует "
-#: lib/checkout_op.tcl:193
+#: lib/checkout_op.tcl:194
#, tcl-format
msgid "Failed to configure simplified git-pull for '%s'."
msgstr "Ошибка создания упрощённой конфигурации git pull для '%s'."
-#: lib/checkout_op.tcl:228
+#: lib/checkout_op.tcl:229
#, tcl-format
msgid ""
"Branch '%s' already exists.\n"
@@ -884,21 +918,21 @@ msgstr ""
"Она не может быть прокручена(fast-forward) к %s.\n"
"Требуется слияние."
-#: lib/checkout_op.tcl:242
+#: lib/checkout_op.tcl:243
#, tcl-format
msgid "Merge strategy '%s' not supported."
msgstr "Неизвестная стратегия слияния: '%s'."
-#: lib/checkout_op.tcl:261
+#: lib/checkout_op.tcl:262
#, tcl-format
msgid "Failed to update '%s'."
msgstr "Не удалось обновить '%s'."
-#: lib/checkout_op.tcl:273
+#: lib/checkout_op.tcl:274
msgid "Staging area (index) is already locked."
msgstr "Рабочая область заблокирована другим процессом."
-#: lib/checkout_op.tcl:288
+#: lib/checkout_op.tcl:289
msgid ""
"Last scanned state does not match repository state.\n"
"\n"
@@ -914,30 +948,30 @@ msgstr ""
"\n"
"Это будет сделано сейчас автоматически.\n"
-#: lib/checkout_op.tcl:344
+#: lib/checkout_op.tcl:345
#, tcl-format
msgid "Updating working directory to '%s'..."
msgstr "Обновление рабочего каталога из '%s'..."
-#: lib/checkout_op.tcl:345
+#: lib/checkout_op.tcl:346
msgid "files checked out"
msgstr "файлы извлечены"
-#: lib/checkout_op.tcl:375
+#: lib/checkout_op.tcl:376
#, tcl-format
msgid "Aborted checkout of '%s' (file level merging is required)."
msgstr "Прерван переход на '%s' (требуется слияние содержания файлов)"
-#: lib/checkout_op.tcl:376
+#: lib/checkout_op.tcl:377
msgid "File level merge required."
msgstr "Требуется слияние содержания файлов."
-#: lib/checkout_op.tcl:380
+#: lib/checkout_op.tcl:381
#, tcl-format
msgid "Staying on branch '%s'."
msgstr "Ветвь '%s' остается текущей."
-#: lib/checkout_op.tcl:451
+#: lib/checkout_op.tcl:452
msgid ""
"You are no longer on a local branch.\n"
"\n"
@@ -949,30 +983,30 @@ msgstr ""
"Если вы хотите снова вернуться к какой-нибудь ветви, создайте ее сейчас, "
"начиная с 'Текущего отсоединенного состояния'."
-#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472
+#: lib/checkout_op.tcl:503 lib/checkout_op.tcl:507
#, tcl-format
msgid "Checked out '%s'."
msgstr "Ветвь '%s' сделана текущей."
-#: lib/checkout_op.tcl:500
+#: lib/checkout_op.tcl:535
#, tcl-format
msgid "Resetting '%s' to '%s' will lose the following commits:"
msgstr "Сброс '%s' в '%s' приведет к потере следующих сохраненных состояний: "
-#: lib/checkout_op.tcl:522
+#: lib/checkout_op.tcl:557
msgid "Recovering lost commits may not be easy."
msgstr "Восстановить потерянные сохраненные состояния будет сложно."
-#: lib/checkout_op.tcl:527
+#: lib/checkout_op.tcl:562
#, tcl-format
msgid "Reset '%s'?"
msgstr "Сбросить '%s'?"
-#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343
+#: lib/checkout_op.tcl:567 lib/merge.tcl:164 lib/tools_dlg.tcl:343
msgid "Visualize"
msgstr "Наглядно"
-#: lib/checkout_op.tcl:600
+#: lib/checkout_op.tcl:635
#, tcl-format
msgid ""
"Failed to set current branch.\n"
@@ -1017,7 +1051,7 @@ msgstr ""
msgid "Git Gui"
msgstr "Git Gui"
-#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382
+#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:386
msgid "Create New Repository"
msgstr "Создать новый репозиторий"
@@ -1025,7 +1059,7 @@ msgstr "Создать новый репозиторий"
msgid "New..."
msgstr "Новый..."
-#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465
+#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:471
msgid "Clone Existing Repository"
msgstr "Склонировать существующий репозиторий"
@@ -1033,7 +1067,7 @@ msgstr "Склонировать существующий репозиторий
msgid "Clone..."
msgstr "Склонировать..."
-#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983
+#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:1016
msgid "Open Existing Repository"
msgstr "Выбрать существующий репозиторий"
@@ -1049,194 +1083,194 @@ msgstr "Недавние репозитории"
msgid "Open Recent Repository:"
msgstr "Открыть последний репозиторий"
-#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309
-#: lib/choose_repository.tcl:316
+#: lib/choose_repository.tcl:306 lib/choose_repository.tcl:313
+#: lib/choose_repository.tcl:320
#, tcl-format
msgid "Failed to create repository %s:"
msgstr "Не удалось создать репозиторий %s:"
-#: lib/choose_repository.tcl:387
+#: lib/choose_repository.tcl:391
msgid "Directory:"
msgstr "Каталог:"
-#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544
-#: lib/choose_repository.tcl:1017
+#: lib/choose_repository.tcl:423 lib/choose_repository.tcl:550
+#: lib/choose_repository.tcl:1052
msgid "Git Repository"
msgstr "Репозиторий"
-#: lib/choose_repository.tcl:442
+#: lib/choose_repository.tcl:448
#, tcl-format
msgid "Directory %s already exists."
msgstr "Каталог '%s' уже существует."
-#: lib/choose_repository.tcl:446
+#: lib/choose_repository.tcl:452
#, tcl-format
msgid "File %s already exists."
msgstr "Файл '%s' уже существует."
-#: lib/choose_repository.tcl:460
+#: lib/choose_repository.tcl:466
msgid "Clone"
msgstr "Склонировать"
-#: lib/choose_repository.tcl:473
+#: lib/choose_repository.tcl:479
msgid "Source Location:"
msgstr "Исходное положение:"
-#: lib/choose_repository.tcl:484
+#: lib/choose_repository.tcl:490
msgid "Target Directory:"
msgstr "Каталог назначения:"
-#: lib/choose_repository.tcl:496
+#: lib/choose_repository.tcl:502
msgid "Clone Type:"
msgstr "Тип клона:"
-#: lib/choose_repository.tcl:502
+#: lib/choose_repository.tcl:508
msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
msgstr "Стандартный (Быстрый, полуизбыточный, \"жесткие\" ссылки)"
-#: lib/choose_repository.tcl:508
+#: lib/choose_repository.tcl:514
msgid "Full Copy (Slower, Redundant Backup)"
msgstr "Полная копия (Медленный, создает резервную копию)"
-#: lib/choose_repository.tcl:514
+#: lib/choose_repository.tcl:520
msgid "Shared (Fastest, Not Recommended, No Backup)"
msgstr "Общий (Самый быстрый, не рекомендуется, без резервной копии)"
-#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597
-#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813
-#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031
+#: lib/choose_repository.tcl:556 lib/choose_repository.tcl:603
+#: lib/choose_repository.tcl:749 lib/choose_repository.tcl:819
+#: lib/choose_repository.tcl:1058 lib/choose_repository.tcl:1066
#, tcl-format
msgid "Not a Git repository: %s"
msgstr "Каталог не является репозиторием: %s"
-#: lib/choose_repository.tcl:586
+#: lib/choose_repository.tcl:592
msgid "Standard only available for local repository."
msgstr "Стандартный клон возможен только для локального репозитория."
-#: lib/choose_repository.tcl:590
+#: lib/choose_repository.tcl:596
msgid "Shared only available for local repository."
msgstr "Общий клон возможен только для локального репозитория."
-#: lib/choose_repository.tcl:611
+#: lib/choose_repository.tcl:617
#, tcl-format
msgid "Location %s already exists."
msgstr "Путь '%s' уже существует."
-#: lib/choose_repository.tcl:622
+#: lib/choose_repository.tcl:628
msgid "Failed to configure origin"
msgstr "Не могу сконфигурировать исходный репозиторий."
-#: lib/choose_repository.tcl:634
+#: lib/choose_repository.tcl:640
msgid "Counting objects"
msgstr "Считаю объекты"
-#: lib/choose_repository.tcl:635
+#: lib/choose_repository.tcl:641
msgid "buckets"
msgstr ""
-#: lib/choose_repository.tcl:659
+#: lib/choose_repository.tcl:665
#, tcl-format
msgid "Unable to copy objects/info/alternates: %s"
msgstr "Не могу скопировать objects/info/alternates: %s"
-#: lib/choose_repository.tcl:695
+#: lib/choose_repository.tcl:701
#, tcl-format
msgid "Nothing to clone from %s."
msgstr "Нечего клонировать с %s."
-#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911
-#: lib/choose_repository.tcl:923
+#: lib/choose_repository.tcl:703 lib/choose_repository.tcl:917
+#: lib/choose_repository.tcl:929
msgid "The 'master' branch has not been initialized."
msgstr "Не инициализирована ветвь 'master'."
-#: lib/choose_repository.tcl:710
+#: lib/choose_repository.tcl:716
msgid "Hardlinks are unavailable. Falling back to copying."
msgstr "\"Жесткие ссылки\" недоступны. Будет использовано копирование."
-#: lib/choose_repository.tcl:722
+#: lib/choose_repository.tcl:728
#, tcl-format
msgid "Cloning from %s"
msgstr "Клонирование %s"
-#: lib/choose_repository.tcl:753
+#: lib/choose_repository.tcl:759
msgid "Copying objects"
msgstr "Копирование objects"
-#: lib/choose_repository.tcl:754
+#: lib/choose_repository.tcl:760
msgid "KiB"
msgstr "КБ"
-#: lib/choose_repository.tcl:778
+#: lib/choose_repository.tcl:784
#, tcl-format
msgid "Unable to copy object: %s"
msgstr "Не могу скопировать объект: %s"
-#: lib/choose_repository.tcl:788
+#: lib/choose_repository.tcl:794
msgid "Linking objects"
msgstr "Создание ссылок на objects"
-#: lib/choose_repository.tcl:789
+#: lib/choose_repository.tcl:795
msgid "objects"
msgstr "объекты"
-#: lib/choose_repository.tcl:797
+#: lib/choose_repository.tcl:803
#, tcl-format
msgid "Unable to hardlink object: %s"
msgstr "Не могу \"жестко связать\" объект: %s"
-#: lib/choose_repository.tcl:852
+#: lib/choose_repository.tcl:858
msgid "Cannot fetch branches and objects. See console output for details."
msgstr ""
"Не могу получить ветви и объекты. Дополнительная информация на консоли."
-#: lib/choose_repository.tcl:863
+#: lib/choose_repository.tcl:869
msgid "Cannot fetch tags. See console output for details."
msgstr "Не могу получить метки. Дополнительная информация на консоли."
-#: lib/choose_repository.tcl:887
+#: lib/choose_repository.tcl:893
msgid "Cannot determine HEAD. See console output for details."
msgstr "Не могу определить HEAD. Дополнительная информация на консоли."
-#: lib/choose_repository.tcl:896
+#: lib/choose_repository.tcl:902
#, tcl-format
msgid "Unable to cleanup %s"
msgstr "Не могу очистить %s"
-#: lib/choose_repository.tcl:902
+#: lib/choose_repository.tcl:908
msgid "Clone failed."
msgstr "Клонирование не удалось."
-#: lib/choose_repository.tcl:909
+#: lib/choose_repository.tcl:915
msgid "No default branch obtained."
msgstr "Не было получено ветви по умолчанию."
-#: lib/choose_repository.tcl:920
+#: lib/choose_repository.tcl:926
#, tcl-format
msgid "Cannot resolve %s as a commit."
msgstr "Не могу распознать %s как состояние."
-#: lib/choose_repository.tcl:932
+#: lib/choose_repository.tcl:938
msgid "Creating working directory"
msgstr "Создаю рабочий каталог"
-#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128
-#: lib/index.tcl:196
+#: lib/choose_repository.tcl:939 lib/index.tcl:67 lib/index.tcl:130
+#: lib/index.tcl:198
msgid "files"
msgstr "файлов"
-#: lib/choose_repository.tcl:962
+#: lib/choose_repository.tcl:968
msgid "Initial file checkout failed."
msgstr "Не удалось получить начальное состояние файлов репозитория."
-#: lib/choose_repository.tcl:978
+#: lib/choose_repository.tcl:1011
msgid "Open"
msgstr "Открыть"
-#: lib/choose_repository.tcl:988
+#: lib/choose_repository.tcl:1021
msgid "Repository:"
msgstr "Репозиторий:"
-#: lib/choose_repository.tcl:1037
+#: lib/choose_repository.tcl:1072
#, tcl-format
msgid "Failed to open repository %s:"
msgstr "Не удалось открыть репозиторий %s:"
@@ -1318,7 +1352,12 @@ msgstr "Невозможно получить информацию об авто
msgid "Invalid GIT_COMMITTER_IDENT:"
msgstr "Неверный GIT_COMMITTER_IDENT:"
-#: lib/commit.tcl:132
+#: lib/commit.tcl:129
+#, tcl-format
+msgid "warning: Tcl does not support encoding '%s'."
+msgstr "предупреждение: Tcl не поддерживает кодировку '%s'."
+
+#: lib/commit.tcl:149
msgid ""
"Last scanned state does not match repository state.\n"
"\n"
@@ -1334,7 +1373,7 @@ msgstr ""
"\n"
"Это будет сделано сейчас автоматически.\n"
-#: lib/commit.tcl:155
+#: lib/commit.tcl:172
#, tcl-format
msgid ""
"Unmerged files cannot be committed.\n"
@@ -1347,7 +1386,7 @@ msgstr ""
"Для файла %s возник конфликт слияния. Разрешите конфликт и добавьте к "
"подготовленным файлам перед сохранением.\n"
-#: lib/commit.tcl:163
+#: lib/commit.tcl:180
#, tcl-format
msgid ""
"Unknown file state %s detected.\n"
@@ -1358,7 +1397,7 @@ msgstr ""
"\n"
"Файл %s не может быть сохранен данной программой.\n"
-#: lib/commit.tcl:171
+#: lib/commit.tcl:188
msgid ""
"No changes to commit.\n"
"\n"
@@ -1368,7 +1407,7 @@ msgstr ""
"\n"
"Подготовьте хотя бы один файл до создания сохраненного состояния.\n"
-#: lib/commit.tcl:186
+#: lib/commit.tcl:203
msgid ""
"Please supply a commit message.\n"
"\n"
@@ -1386,45 +1425,40 @@ msgstr ""
"- вторая строка пустая\n"
"- оставшиеся строки: опишите, что дают ваши изменения.\n"
-#: lib/commit.tcl:210
-#, tcl-format
-msgid "warning: Tcl does not support encoding '%s'."
-msgstr "предупреждение: Tcl не поддерживает кодировку '%s'."
-
-#: lib/commit.tcl:226
+#: lib/commit.tcl:234
msgid "Calling pre-commit hook..."
msgstr "Вызов программы поддержки репозитория pre-commit..."
-#: lib/commit.tcl:241
+#: lib/commit.tcl:249
msgid "Commit declined by pre-commit hook."
msgstr "Сохранение прервано программой поддержки репозитория pre-commit"
-#: lib/commit.tcl:264
+#: lib/commit.tcl:272
msgid "Calling commit-msg hook..."
msgstr "Вызов программы поддержки репозитория commit-msg..."
-#: lib/commit.tcl:279
+#: lib/commit.tcl:287
msgid "Commit declined by commit-msg hook."
msgstr "Сохранение прервано программой поддержки репозитория commit-msg"
-#: lib/commit.tcl:292
+#: lib/commit.tcl:300
msgid "Committing changes..."
msgstr "Сохранение изменений..."
-#: lib/commit.tcl:308
+#: lib/commit.tcl:316
msgid "write-tree failed:"
msgstr "Программа write-tree завершилась с ошибкой:"
-#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373
+#: lib/commit.tcl:317 lib/commit.tcl:361 lib/commit.tcl:382
msgid "Commit failed."
msgstr "Сохранить состояние не удалось."
-#: lib/commit.tcl:326
+#: lib/commit.tcl:334
#, tcl-format
msgid "Commit %s appears to be corrupt"
msgstr "Состояние %s выглядит поврежденным"
-#: lib/commit.tcl:331
+#: lib/commit.tcl:339
msgid ""
"No changes to commit.\n"
"\n"
@@ -1438,19 +1472,19 @@ msgstr ""
"\n"
"Сейчас автоматически запустится перечитывание репозитория.\n"
-#: lib/commit.tcl:338
+#: lib/commit.tcl:346
msgid "No changes to commit."
msgstr "Отсутствуют изменения для сохранения."
-#: lib/commit.tcl:352
+#: lib/commit.tcl:360
msgid "commit-tree failed:"
msgstr "Программа commit-tree завершилась с ошибкой:"
-#: lib/commit.tcl:372
+#: lib/commit.tcl:381
msgid "update-ref failed:"
msgstr "Программа update-ref завершилась с ошибкой:"
-#: lib/commit.tcl:460
+#: lib/commit.tcl:469
#, tcl-format
msgid "Created commit %s: %s"
msgstr "Создано состояние %s: %s "
@@ -1503,20 +1537,19 @@ msgstr "Сжатие базы объектов"
msgid "Verifying the object database with fsck-objects"
msgstr "Проверка базы объектов при помощи fsck"
-#: lib/database.tcl:108
+#: lib/database.tcl:107
#, tcl-format
msgid ""
"This repository currently has approximately %i loose objects.\n"
"\n"
"To maintain optimal performance it is strongly recommended that you compress "
-"the database when more than %i loose objects exist.\n"
+"the database.\n"
"\n"
"Compress the database now?"
msgstr ""
"Этот репозиторий сейчас содержит примерно %i свободных объектов\n"
"\n"
-"Для лучшей производительности рекомендуется сжать базу данных, когда есть "
-"более %i несвязанных объектов.\n"
+"Для лучшей производительности рекомендуется сжать базу данных.\n"
"\n"
"Сжать базу данных сейчас?"
@@ -1525,7 +1558,7 @@ msgstr ""
msgid "Invalid date from Git: %s"
msgstr "Неправильная дата в репозитории: %s"
-#: lib/diff.tcl:59
+#: lib/diff.tcl:64
#, tcl-format
msgid ""
"No differences detected.\n"
@@ -1547,12 +1580,12 @@ msgstr ""
"\n"
"Сейчас будет запущено перечитывание репозитория, чтобы найти подобные файлы."
-#: lib/diff.tcl:99
+#: lib/diff.tcl:104
#, tcl-format
msgid "Loading diff of %s..."
msgstr "Загрузка изменений в %s..."
-#: lib/diff.tcl:120
+#: lib/diff.tcl:125
msgid ""
"LOCAL: deleted\n"
"REMOTE:\n"
@@ -1560,7 +1593,7 @@ msgstr ""
"ЛОКАЛЬНО: удалён\n"
"ВНЕШНИЙ:\n"
-#: lib/diff.tcl:125
+#: lib/diff.tcl:130
msgid ""
"REMOTE: deleted\n"
"LOCAL:\n"
@@ -1568,32 +1601,32 @@ msgstr ""
"ВНЕШНИЙ: удалён\n"
"ЛОКАЛЬНО:\n"
-#: lib/diff.tcl:132
+#: lib/diff.tcl:137
msgid "LOCAL:\n"
msgstr "ЛОКАЛЬНО:\n"
-#: lib/diff.tcl:135
+#: lib/diff.tcl:140
msgid "REMOTE:\n"
msgstr "ВНЕШНИЙ:\n"
-#: lib/diff.tcl:197 lib/diff.tcl:296
+#: lib/diff.tcl:202 lib/diff.tcl:319
#, tcl-format
msgid "Unable to display %s"
msgstr "Не могу показать %s"
-#: lib/diff.tcl:198
+#: lib/diff.tcl:203
msgid "Error loading file:"
msgstr "Ошибка загрузки файла:"
-#: lib/diff.tcl:205
+#: lib/diff.tcl:210
msgid "Git Repository (subproject)"
msgstr "Репозиторий Git (подпроект)"
-#: lib/diff.tcl:217
+#: lib/diff.tcl:222
msgid "* Binary file (not showing content)."
msgstr "* Двоичный файл (содержимое не показано)"
-#: lib/diff.tcl:222
+#: lib/diff.tcl:227
#, tcl-format
msgid ""
"* Untracked file is %d bytes.\n"
@@ -1602,7 +1635,7 @@ msgstr ""
"* Размер неподготовленного файла %d байт.\n"
"* Показано первых %d байт.\n"
-#: lib/diff.tcl:228
+#: lib/diff.tcl:233
#, tcl-format
msgid ""
"\n"
@@ -1613,19 +1646,19 @@ msgstr ""
"* Неподготовленный файл обрезан: %s.\n"
"* Чтобы увидеть весь файл, используйте программу-редактор.\n"
-#: lib/diff.tcl:436
+#: lib/diff.tcl:482
msgid "Failed to unstage selected hunk."
msgstr "Не удалось исключить выбранную часть."
-#: lib/diff.tcl:443
+#: lib/diff.tcl:489
msgid "Failed to stage selected hunk."
msgstr "Не удалось подготовить к сохранению выбранную часть."
-#: lib/diff.tcl:509
+#: lib/diff.tcl:568
msgid "Failed to unstage selected line."
msgstr "Не удалось исключить выбранную строку."
-#: lib/diff.tcl:517
+#: lib/diff.tcl:576
msgid "Failed to stage selected line."
msgstr "Не удалось подготовить к сохранению выбранную строку."
@@ -1662,7 +1695,7 @@ msgstr "Не удалось разблокировать индекс"
msgid "Index Error"
msgstr "Ошибка в индексе"
-#: lib/index.tcl:21
+#: lib/index.tcl:17
msgid ""
"Updating the Git index failed. A rescan will be automatically started to "
"resynchronize git-gui."
@@ -1670,7 +1703,7 @@ msgstr ""
"Не удалось обновить индекс Git. Состояние репозитория будет перечитано "
"автоматически."
-#: lib/index.tcl:27
+#: lib/index.tcl:28
msgid "Continue"
msgstr "Продолжить"
@@ -1678,45 +1711,45 @@ msgstr "Продолжить"
msgid "Unlock Index"
msgstr "Разблокировать индекс"
-#: lib/index.tcl:287
+#: lib/index.tcl:289
#, tcl-format
msgid "Unstaging %s from commit"
msgstr "Удаление %s из подготовленного"
-#: lib/index.tcl:326
+#: lib/index.tcl:328
msgid "Ready to commit."
msgstr "Подготовлено для сохранения"
-#: lib/index.tcl:339
+#: lib/index.tcl:341
#, tcl-format
msgid "Adding %s"
msgstr "Добавление %s..."
-#: lib/index.tcl:396
+#: lib/index.tcl:398
#, tcl-format
msgid "Revert changes in file %s?"
msgstr "Отменить изменения в файле %s?"
-#: lib/index.tcl:398
+#: lib/index.tcl:400
#, tcl-format
msgid "Revert changes in these %i files?"
msgstr "Отменить изменения в %i файле(-ах)?"
-#: lib/index.tcl:406
+#: lib/index.tcl:408
msgid "Any unstaged changes will be permanently lost by the revert."
msgstr ""
"Любые изменения, не подготовленные к сохранению, будут потеряны при данной "
"операции."
-#: lib/index.tcl:409
+#: lib/index.tcl:411
msgid "Do Nothing"
msgstr "Ничего не делать"
-#: lib/index.tcl:427
+#: lib/index.tcl:429
msgid "Reverting selected files"
msgstr "Удаление изменений в выбранных файлах"
-#: lib/index.tcl:431
+#: lib/index.tcl:433
#, tcl-format
msgid "Reverting %s"
msgstr "Отмена изменений в %s"
@@ -2193,10 +2226,6 @@ msgstr "Удалить только в случае, если"
msgid "Merged Into:"
msgstr "Слияние с:"
-#: lib/remote_branch_delete.tcl:119
-msgid "Always (Do not perform merge checks)"
-msgstr "Всегда (не выполнять проверку на слияние)"
-
#: lib/remote_branch_delete.tcl:152
msgid "A branch is required for 'Merged Into'."
msgstr "Для опции 'Слияние с' требуется указать ветвь."
@@ -2225,26 +2254,16 @@ msgstr ""
msgid "Please select one or more branches to delete."
msgstr "Укажите одну или несколько ветвей для удаления."
-#: lib/remote_branch_delete.tcl:216
-msgid ""
-"Recovering deleted branches is difficult.\n"
-"\n"
-"Delete the selected branches?"
-msgstr ""
-"Восстановить удаленные ветви сложно.\n"
-"\n"
-"Продолжить?"
-
#: lib/remote_branch_delete.tcl:226
#, tcl-format
msgid "Deleting branches from %s"
msgstr "Удаление ветвей из %s"
-#: lib/remote_branch_delete.tcl:286
+#: lib/remote_branch_delete.tcl:292
msgid "No repository selected."
msgstr "Не указан репозиторий."
-#: lib/remote_branch_delete.tcl:291
+#: lib/remote_branch_delete.tcl:297
#, tcl-format
msgid "Scanning %s..."
msgstr "Перечитывание %s... "
@@ -2265,11 +2284,11 @@ msgstr "Обратно"
msgid "Case-Sensitive"
msgstr "Игн. большие/маленькие"
-#: lib/shortcut.tcl:20 lib/shortcut.tcl:61
+#: lib/shortcut.tcl:21 lib/shortcut.tcl:62
msgid "Cannot write shortcut:"
msgstr "Невозможно записать ссылку:"
-#: lib/shortcut.tcl:136
+#: lib/shortcut.tcl:137
msgid "Cannot write icon:"
msgstr "Невозможно записать значок:"
--
1.7.3.4.643.g8fb2b
^ permalink raw reply related
* Re: [PATCH 0/3] git-gui: update russian translation
From: Alex Riesen @ 2011-01-17 21:16 UTC (permalink / raw)
To: git
Cc: Shawn O. Pearce, Pat Thoyts, Serge Ziryukin, Dmitry Potapov,
Alexander Gavrilov
In-Reply-To: <20110117210820.GA27029@blimp.localdomain>
And sorry for screwed up thread. I guess I have to need more practice...
^ permalink raw reply
* [PATCH] gitk: spelling fixes in russian translation
From: Alex Riesen @ 2011-01-17 21:23 UTC (permalink / raw)
To: git, Paul Mackerras
Cc: Serge Ziryukin, Dmitry Potapov, Alexander Gavrilov, Skip
From: Skip <bsvskip@rambler.ru>
Signed-off-by: Skip <bsvskip@rambler.ru>
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
I applied the patch to the gitk-git in git main repository.
I hope it still applies to your repository, Paul.
po/ru.po | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/po/ru.po b/po/ru.po
index c3d0285..5987303 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -24,7 +24,7 @@ msgstr "Ошибка в идентификаторе версии:"
#: gitk:323
msgid "Error executing --argscmd command:"
-msgstr "Ошибка выполнения команды заданой --argscmd:"
+msgstr "Ошибка выполнения команды заданной --argscmd:"
#: gitk:336
msgid "No files selected: --merge specified but no files are unmerged."
@@ -37,7 +37,7 @@ msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
msgstr ""
-"Файлы не выбраны: указан --merge, но в рамках указаного "
+"Файлы не выбраны: указан --merge, но в рамках указанного "
"ограничения на имена файлов нет ни одного "
"где эта операция должна быть завершена."
@@ -246,11 +246,11 @@ msgstr "Файлы"
#: gitk:2326 gitk:2339
msgid "Diff this -> selected"
-msgstr "Сравнить это состояние с выделеным"
+msgstr "Сравнить это состояние с выделенным"
#: gitk:2327 gitk:2340
msgid "Diff selected -> this"
-msgstr "Сравнить выделеное с этим состоянием"
+msgstr "Сравнить выделенное с этим состоянием"
#: gitk:2328 gitk:2341
msgid "Make patch"
@@ -440,11 +440,11 @@ msgstr "<%s-F>\t\tПоиск"
#: gitk:2666
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
-msgstr "<%s-G>\t\tПерейти к следующему найденому состоянию"
+msgstr "<%s-G>\t\tПерейти к следующему найденному состоянию"
#: gitk:2667
msgid "<Return>\tMove to next find hit"
-msgstr "<Return>\tПерейти к следующему найденому состоянию"
+msgstr "<Return>\tПерейти к следующему найденному состоянию"
#: gitk:2668
msgid "/\t\tFocus the search box"
@@ -452,7 +452,7 @@ msgstr "/\t\tПерейти к полю поиска"
#: gitk:2669
msgid "?\t\tMove to previous find hit"
-msgstr "?\t\tПерейти к предыдущему найденому состоянию"
+msgstr "?\t\tПерейти к предыдущему найденному состоянию"
#: gitk:2670
msgid "f\t\tScroll diff view to next file"
@@ -466,7 +466,7 @@ msgstr "<%s-S>\t\tПродолжить поиск в списке изменен
#: gitk:2672
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
-msgstr "<%s-R>\t\tПерейти к предыдущему найденому тексту в списке изменений"
+msgstr "<%s-R>\t\tПерейти к предыдущему найденному тексту в списке изменений"
#: gitk:2673
#, tcl-format
@@ -855,7 +855,7 @@ msgstr "Лёгкий: оставить рабочий каталог и инде
#: gitk:8472
msgid "Mixed: Leave working tree untouched, reset index"
msgstr ""
-"Смешаный: оставить рабочий каталог неизменным, установить индекс"
+"Смешанный: оставить рабочий каталог неизменным, установить индекс"
#: gitk:8475
msgid ""
@@ -962,7 +962,7 @@ msgstr "Показывать близкие метки"
#: gitk:10126
msgid "Limit diffs to listed paths"
-msgstr "Ограничить показ изменений выбраными файлами"
+msgstr "Ограничить показ изменений выбранными файлами"
#: gitk:10129
msgid "Support per-file encodings"
@@ -1022,11 +1022,11 @@ msgstr "заголовок блока изменений"
#: gitk:10169
msgid "Marked line bg"
-msgstr "Фон выбраной строки"
+msgstr "Фон выбранной строки"
#: gitk:10171
msgid "marked line background"
-msgstr "фон выбраной строки"
+msgstr "фон выбранной строки"
#: gitk:10175
msgid "Select bg"
--
1.7.3.4.643.g8fb2b
^ permalink raw reply related
* Re: Git Rebase blows away GIT_AUTHOR_NAME
From: Jeff King @ 2011-01-17 22:21 UTC (permalink / raw)
To: JT Olds; +Cc: Junio C Hamano, Erik Faye-Lund, Linus Torvalds, Tor Arntsen, git
In-Reply-To: <20110114162144.GA867@sigill.intra.peff.net>
On Fri, Jan 14, 2011 at 11:21:45AM -0500, Jeff King wrote:
> So we should probably do one or both of:
>
> 1. Make an --allow-any-name option to mailinfo, and use it when we
> invoke mailinfo internally for rebasing. That still doesn't solve
> the emailed patch problem, but at least keeps purely internal
> operations sane.
So I wrote up a nice tidy patch series with mailinfo changes and tests,
and then am/rebase changes and tests on top of that. And guess what I
noticed? My rebase tests didn't actually fail with stock git.
I bisected to 43c2325 (am: use get_author_ident_from_commit instead of
mailinfo when rebasing, 2010-06-16), which was written to handle exactly
this sort of thing.
That commit made it into v1.7.2. JT, which version of git are you
running? Do you still see any problems with v1.7.2 and above? I can't
replicate your issue with more recent versions.
So unless we want to do any sort of commit-time warning, I don't think
there is anything left to be done on this topic.
-Peff
^ permalink raw reply
* Re: Git Rebase blows away GIT_AUTHOR_NAME
From: Erik Faye-Lund @ 2011-01-17 22:29 UTC (permalink / raw)
To: Jeff King; +Cc: JT Olds, Junio C Hamano, Linus Torvalds, Tor Arntsen, git
In-Reply-To: <20110117222128.GA30869@sigill.intra.peff.net>
On Mon, Jan 17, 2011 at 11:21 PM, Jeff King <peff@peff.net> wrote:
> On Fri, Jan 14, 2011 at 11:21:45AM -0500, Jeff King wrote:
>
>> So we should probably do one or both of:
>>
>> 1. Make an --allow-any-name option to mailinfo, and use it when we
>> invoke mailinfo internally for rebasing. That still doesn't solve
>> the emailed patch problem, but at least keeps purely internal
>> operations sane.
>
> So I wrote up a nice tidy patch series with mailinfo changes and tests,
> and then am/rebase changes and tests on top of that. And guess what I
> noticed? My rebase tests didn't actually fail with stock git.
>
> I bisected to 43c2325 (am: use get_author_ident_from_commit instead of
> mailinfo when rebasing, 2010-06-16), which was written to handle exactly
> this sort of thing.
>
Heh, same story bro :(
Just for reference, my patch can be found at
http://repo.or.cz/w/git/kusma.git work/rebase-keep-name
^ permalink raw reply
* Re: git diff
From: Jeff King @ 2011-01-17 22:30 UTC (permalink / raw)
To: Carter Lamb; +Cc: git
In-Reply-To: <AANLkTik7cfu_DS=GS5gz_Tu94NC=ZGi-eA8YXztyd9Ra@mail.gmail.com>
On Thu, Jan 13, 2011 at 04:46:16PM -0600, Carter Lamb wrote:
> I use git diff --summary --numstat <commit> to report the files
> modified, created, and deleted between the current commit and some
> prior commit. The --stat and --numstat options count the lines added
> and deleted for each file. Is there a way to report the lines modified
> for each file. For example:
Not really, because it's not well defined. Consider your example:
> Given content below for commit 1:
> aaaaa
> ccccc
>
> Given content below for commit 2:
> aaaaa
> bbbbb
> ccccc
>
> Given content below for commit 3:
> Aaaaa
> Bbbbb
> ccccc
> ddddd
How do we know that "Aaaaa" is a modification of line "aaaaa", and not
simply the deletion of the old line and the addition of a new one? It's
easy to come up with a case where that is more obvious:
-aaaaa
+ddddd
but there are many shades of gray in between. Is:
-aaaaa
+Aaada
the deletion of an old line and the introduction of a new one, or the
modification of an existing line? So fundamentally the diff format just
deals with added and removed lines, and modifications are represented as
a delete followed by an add.
Which isn't to say you couldn't think of many clever algorithms for
heuristically determining a modification, but git doesn't do that itself
in numstat.
-Peff
^ 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