Highlights
==========* Documentation is in much better shape. Thanks everybody.
* Two grave bugs in 'git fetch' were caught and fixed. One is "Fix
fetching of tags", the other is "Fix pulling into the same branch.".* We have archimport (unfortunately undocumented yet), and
cvsimport is being improved.* Revert, rebase and cherry-pick are done using three-way merge,
not a straight patch application.* 'git commit' should be a bit easier to use than before in
initial commits and merge commits.* 'git applymbox' is a bit more accomodating and it should be
easier to handle MIME patches than before.* As usual, comes with more recent gitk.
Better merge algorithms and the infrastructure are being worked
on by Daniel and Fredrik; they are not in this release yet.What to expect after 0.99.6
===========================This is written in a form of to-do list for me, so if I say
"accept patch", it means I do not currently plan to do that
myself. People interested in seeing it materialize please take
a hint. The latest copy of this document is found athttp://kernel.org/git/?p=git/git.git;a=blob;hb=todo;f=TODO
Tool Renames Plan
------------------ All non-binary commands will lose -script suffix in
$(bindir). The source to git-foo will be either git-foo.sh
or git-foo.perl in the source tree, and the documentation
will be in Documentation/git-foo.txt.- The commands whose names have 'cache' to mean 'index file'
will get 'cache' in their names replaced with 'index'. For
git-fsck-cache and git-convert-cache, 'cache' will be
replaced with 'objects'.- The commit walkers will have 'pull' in their names replaced
with 'fetch'. 'git-ssh-push' will become 'git-ssh-upload'.- We continue to follow the convention to name the C source
file that contains the main program of 'git-foo' command
'foo.c'. That means we will have 'fsck-objects.c', for
example.- At this moment, I am not planning to rename the ...
I am hoping that sending this out to the kernel list is not
considered too much of useless spamming, but I promise I
wouldn't do thit next time for 0.99.8, if I hear from somebody
not to.Here comes GIT 0.99.7
--
Done in 0.99.7
==============Organization
~~~~~~~~~~~~Some commands and most scripts are renamed for consistency.
- We have an official standard terminology list [*1*]. To
match this, commands that operate on index files now have
'index' instead of 'cache' in their names, and ones that
download are called 'fetch' instead of 'pull'.- We used to install most of the commands that happen to be
implemented as scripts as 'git-*-script', which was
cumbersome to remember and type unless you always used 'git'
wrapper. They lost '-script' suffix from their names.For now, we install synonyms as symbolic links so that old
names continue to work, but they are planned to be removed in
0.99.8 (or later if there are enough objections on the list --
so far I have heard none).Also ancient environment variables [*2*] are not supported
anymore.New Features and Commands
~~~~~~~~~~~~~~~~~~~~~~~~~Downloaders that are not fully git aware have been taught about
the mechanism to borrow objects from other repositories via
objects/info/alternates the server side may be using. 'git
fetch' and 'git pull' commands over rsync and http transport
should be able to handle such repositories [*3*].People found interesting cases where the 'stupid' three-way
merge mechanism does the wrong thing without noticing. We have
two new merge algorithms by Daniel and Fredrik that attempt to
do better in such cases. A new 'git merge' command has been
introduced to make it easier to experiment with and choose among
different merge strategies. Note that 'git pull' still uses the
traditional three-way merge after downloading, but it is
expected to be switched to use 'git merge' sometime in the
future.Importing from tla archives has been improved...
Hi.
Could you please include a url for anyone who might not know the
canonical address from which to download?Regards,
Nigel
-
Chris White
Right now there is no tar files, only an rpm
--
Alan Chandler
http://www.chandlerfamily.org.uk
-
Hello,
this is the release of Cogito-0.15. It fixes several minor bugs, and
adds a feature or two. The most important thing though is that this
depends on Git-core-0.99.7 and uses the new command names. Everyone is
encouraged to upgrade at least to this Cogito version in the next few
days, since the older Cogito versions likely won't work with the future
Git-core releases.To stay in sync with the Git terminology, Cogito also renames its
cg-pull to cg-fetch. Since this is a major naming change (I'm not too
happy about it, personally), cg-pull will stay aliased to cg-fetch for
at least one (likely two) next major Cogito releases (it also produces a
warning when invoked as cg-pull). In the more distant future, cg-pull
will slowly become the new name of cg-update, to make it confusing.While at it, we also renamed the *-id scriptlets to cg-*-id. Other
notable stuff is cg-init respecting the ignore rules, and better UI for
cg-add wrt. directories (including cg-add -r support).Now let's see what the usual bug-right-after-release (major release,
so a major bug?) will be this time.Happy hacking,
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
If you want the holes in your knowledge showing up try teaching
someone. -- Alan Cox
-
Could we keep at least the cg-update name? It is certainly not a
*pull* because it does update local repository (and tree, too).Pavel
--
if you have sharp zaurus hardware you don't need... you know my address
-
That _is_ what "pull" means.
"fetch" is the one that only updates the history. A "pull" also does a
merge and updates the current branch _and_ the currently checked out tree.Linus
-
Dear diary, on Tue, Sep 20, 2005 at 01:15:38AM CEST, I got a letter
yes, I want to retain it. I'm not 100% decided yet whether to actually
use the pull term for anything in Cogito. Previous usage reportedly
confused some, the new usage actually confuses me and apparently some
other people. So I might just avoid the 'pull' term in the futureAIUI, that's what makes it a pull for *cough* some people. ;-)
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
VI has two modes: the one in which it beeps and the one in which
it doesn't.
-
The GIT To-Do File
==================The latest copy of this document is found at
http://kernel.org/git/?p=git/git.git;a=blob;hb=todo;f=TODO
Tool Renames Plan
=================- All non-binary commands will lose -script suffix in
$(bindir). The source to git-foo will be either git-foo.sh
or git-foo.perl in the source tree, and the documentation
will be in Documentation/git-foo.txt.- The commands whose names have 'cache' to mean 'index file'
will get 'cache' in their names replaced with 'index'. For
git-fsck-cache and git-convert-cache, 'cache' will be
replaced with 'objects'.- The commit walkers will have 'pull' in their names replaced
with 'fetch'. 'git-ssh-push' will become 'git-ssh-upload'.- We continue to follow the convention to name the C source
file that contains the main program of 'git-foo' command
'foo.c'. That means we will have 'fsck-objects.c', for
example.- At this moment, I am not planning to rename the symbols used
in programs, nor any library sources. "cache.h" will stay
"cache.h", so does "read-cache.c". "struct cache_entry" and
"ce_match_stat()" will keep their names. We _might_ want to
rename them in later rounds but not right now.- In 0.99.7, all renamed commands will have symbolic links in
$(bindir) so that old names continue to work. These backward
compatible names will not appear in documentation. The main
documentation, git(7) will talk about the new names but would
mention their old names as historical notes. Old environment
names defined in gitenv() will also be removed in this release.- In 0.99.8, we do not install these backward compatible
symbolic links in $(bindir) anymore. The Makefile will have
a target to remove old symlinks from $(DESTDIR)$(bindir) you
can run manually to help you clean things up.The timeframe for this is around Oct 1st, but I could be
talked into delaying the symlink removal if Porcelain people
...
On Sun, 18 Sep 2005, Junio C Hamano wrote:
How about git-clean? (It cleans a "dirty" file..." IIRC that is what bk
used to call it so at least some people should be familliar with its name
that way.)Best regards,
Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/
-
Maybe something stupid like this?
Totally untested, of course.
Linus
---
diff-tree 9b2d397a5d03514bdf3f545e459817c48579830f (from 727132834e6be48a93c1bd6458a29d474ce7d5d5)
Author: Linus Torvalds <torvalds@g5.osdl.org>
Date: Sun Sep 18 18:29:07 2005 -0700Add stupid 'strcasestr()' compat routine
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,8 @@
# Define NO_CURL if you do not have curl installed. git-http-pull is not
# built, and you cannot use http:// and https:// transports.
#
+# Define NO_STRCASESTR if you don't have strcasestr.
+#
# Define PPC_SHA1 environment variable when running make to make use of
# a bundled SHA1 routine optimized for PowerPC.
#
@@ -203,6 +205,10 @@ ifdef NEEDS_NSL
LIBS += -lnsl
SIMPLE_LIB += -lnsl
endif
+ifdef NO_STRCASESTR
+ DEFINES += -Dstrcasestr=gitstrcasestr
+ LIB_OBJS += compat/strcasestr.o
+endifDEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'
diff --git a/compat/strcasestr.c b/compat/strcasestr.c
new file mode 100644
--- /dev/null
+++ b/compat/strcasestr.c
@@ -0,0 +1,22 @@
+#include <string.h>
+
+char *gitstrcasestr(const char *haystack, const char *needle)
+{
+ int nlen = strlen(needle);
+ int hlen = strlen(haystack) - nlen;
+ int i;
+
+ for (i = 0; i < hlen; i++) {
+ int j;
+ for (j = 0; j < nlen; j++) {
+ unsigned char c1 = haystack[i+j];
+ unsigned char c2 = needle[j];
+ if (toupper(c1) != toupper(c2))
+ goto next;
+ }
+ return (char *) haystack + i;
+ next:
+ ;
+ }
+ return NULL;
+}
-
Hi,
I like it. Git does not need a complicated Boyer-Moore algorithm, because
that code path is not time critical.However, I would like it a bit more, if it returned (const char*). After
all, we do not need to comply with wrong interface definitions.Ciao,
Dscho
-
That should be <ctype.h> of course.
Linus
-
I was planning to do 0.99.7 today but I need to delay it for a
couple of days. I am expected to be offline for most of today.-
The "master" branch post 0.99.6 already has the renamed tools
with backward compatibility symlinks. I'll be sending a
patch to address an issue raised by some people separately to
see what the list thinks, and also will attempt to send out a
patch for the Pasky and Catalin heads later this week. Also
I'll remove the ancient backward compatible environment variable
names from gitenv.c.There were discussion on the tag 'git-ls-files -t' output uses.
I got a feeling that we might want to change them to match what
other tools give. Here is the proposed changes:Meaning Current Updated
cached H .
unmerged M U
removed R D
other ? ?
killed K K
modified info unav. MI may also be tempted to rename 'tag_removed' variable there to
'tag_deleted' for consistency.Comments?
-
At Thu, 08 Sep 2005 15:14:52 -0700,
everything seems very consistent indeed, except one command:
git-merge-base
I've already got used to it. but, at first, the name gave me the
impression that it merge the current branch with given base point.the current documentation says:
Finds as good a common ancestor as possible for a merge
so would it be better to rename it to:
git-find-common-ancestor
That's what the command does after all.
--
yashi
-
It does not find just any common ancestor, but tries to find a
set of common ancestors that are good to be used as merge bases.
So git-find-merge-base _might_ be an acceptable rename, but
git-find-common-ancestor certainly isn't.-
ok. it certainly does't find all common ancestors for given sha1s.
how about renaming the command to git-find-merge-base as you suggested
and document what the merge base is?attached patch does the rename only. haven't added "merge base" entry
to Documentation/git-find-merge-base.txt.
--
yashiRename git-merge-base to git-find-merge-base
The command is to _find_ merge base, not merge something with base.
Reflect what it does to its name.Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com>
---
.gitignore | 2
Documentation/git-find-merge-base.txt | 34 +++++++
Documentation/git-merge-base.txt | 34 -------
Documentation/git-read-tree.txt | 2
Documentation/git-show-branch.txt | 2
Documentation/git.txt | 2
Makefile | 2
README | 2
find-merge-base.c | 171 +++++++++++++++++++++++++++++++++
git-archimport.perl | 4 -
git-fetch.sh | 2
git-merge-octopus.sh | 2
git-merge.sh | 2
git-octopus.sh | 2
git-resolve.sh | 4 -
gitk | 2
merge-base.c | 171 ---------------------------------
t/t4100/t-apply-1.patch | 2
t/t4100/t-apply-5.patch | 2
templates/hooks--update | 2
20 files changed, 223 insertions(+), 223 deletions(-)
create mode 100644 Documentation/git-find-merge-base.txt
delete mode 100644 Documentation/git-merge-base.txt
create mode 100644 find-merge-base.c
delete mode 100644 merge-base.c2652b63c0dcd376f47e3985be26a3cef67c397c8
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
@@ -42,7 +42,7 @@ git-ls-tree
git-mailinfo
git-mailsplit
git-merge
-git-merge-base
+git-fin...
I've prepared these and will be sending them out separately to
you two, hoping they would help you prepare for post 0.99.7
changes. Note that 0.99.6 does not know about these new names,
the current "master" branch knows about both new and old names,
so will 0.99.7, and in 0.99.8 the old names will be removed, if
things go as planned.Here is a small script that I used before auditing what it did
to your trees by running 'git diff' on its result.------------
#!/bin/sh
git-ls-files |
xargs perl -i -p -e '
s/git-merge-one-file-script/git-merge-one-file/g;
s/git-count-objects-script/git-count-objects/g;
s/git-format-patch-script/git-format-patch/g;
s/git-parse-remote-script/git-parse-remote/g;
s/git-request-pull-script/git-request-pull/g;
s/git-cherry-pick-script/git-cherry-pick/g;
s/git-archimport-script/git-archimport/g;
s/git-send-email-script/git-send-email/g;
s/git-verify-tag-script/git-verify-tag/g;
s/git-cvsimport-script/git-cvsimport/g;
s/git-ls-remote-script/git-ls-remote/g;
s/git-checkout-script/git-checkout/g;
s/git-sh-setup-script/git-sh-setup/g;
s/git-octopus-script/git-octopus/g;
s/git-resolve-script/git-resolve/g;
s/git-checkout-cache/git-checkout-index/g;
s/git-bisect-script/git-bisect/g;
s/git-branch-script/git-branch/g;
s/git-commit-script/git-commit/g;
s/git-rebase-script/git-rebase/g;
s/git-relink-script/git-relink/g;
s/git-rename-script/git-rename/g;
s/git-repack-script/git-repack/g;
s/git-revert-script/git-revert/g;
s/git-status-script/git-status/g;
s/git-convert-cache/git-convert-objects/g;
s/git-clone-script/git-clone/g;
s/git-fetch-script/git-fetch/g;
s/git-prune-script/git-prune/g;
s/git-reset-script/git-reset/g;
s/git-update-cache/git-update-index/g;
s/git-diff-script/git-diff/g;
s/git-pull-script/git-pull/g;
s/git-push-script/git-push/g;
s/git-merge-cache/git-merge-index/g;
s/git-add-script/git-add/g;
s/git-log-script/git-log/g;
s/git-tag-script/git-tag/g;
s/git-local-pull/git-local-fetch/g;
...
Dear diary, on Fri, Sep 09, 2005 at 11:20:53AM CEST, I got a letter
Thanks for the notification. I will do an auxiliary release right
after 0.99.7 is released.--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
If you want the holes in your knowledge showing up try teaching
someone. -- Alan Cox
-
| Amit K. Arora | [RFC] Heads up on sys_fallocate() |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Stephen Rothwell | Re: Announce: Linux-next (Or Andrew's dream :-)) |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Patrick McHardy | Re: [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
