threads / discuss / 1626

Current status toward 0.99.5 and beyond

Subject: Current status toward 0.99.5 and beyond

## tl;dr

2 messages between Aug 23, 2005 and Aug 23, 2005.

replies: 1people: 2as markdown or json

Junio C Hamano· Aug 23, 2005, 17:14 UTC · lore

Some people may have noticed that the progress of the master branch head has somewhat slowed down lately, and I have kept some changes in the proposed updates branch for quite some time.

There are two reasons for this. One is that I've been quite busy during my day job hours, and haven't had enough time to make sure the multi-head fetch stuff does not break things and the way it works is reasonable. Another is that I am feeling guilty about letting Documentation go stale, and am reluctant to have what is in the proposed updates branch graduate to the master branch without accompanying documentation. Maybe I'll have some time on my next GIT day [*1*].

Anyway, here is my updated Itchlist, as a preview of what comes next.

For 0.99.5, I would like to finish testing and documenting what is currently in the proposed updates branch. There are two changes there: multi-head fetch and $GIT_DIR/remotes/ that somewhat deprecates $GIT_DIR/branches/; semantics cleanup of "git reset" command.

Linus has been feeding updates to make various commands to be capable of running from subdirectories and taking paths relative to the current directory. I would have liked these patches with test scripts to demonstrate they do what they claim to do well. Patches to extend existing test scripts in t/ directory are very much welcomed. So far, the following commands should be usable with relative directory paths:

    update-cache
    ls-files
    diff-files
    diff-cache
    diff-tree

I do not have major itch after 0.99.5 right now, except for obvious fixes and tweaks here and there [*2*]. I think we would concentrate a bit more on usability enhancement including the tutorial updates. One code change I would like to see is to add limited MIME support to applymbox suite. We should be able to teach mailinfo to:

  - detect B encoding in the mail headers, and translate it to UTF-8;
  - understand a single level multipart and pick out the body of
    the message;
  - detect QP in the body and decode into the original charset;
  - after splitting the body into commit log and patch, translate only
    the commit log part into UTF-8.
[Footnote]
*1* Currently, my Wednesdays and Saturdays are for GIT only.
*2* Here is a list of minor itches:
 * "git rebase" could be a bit more tolerant to conflicting
   patches.  We may want to "wiggle" it, or may want to run
   3-way "merge".
 * The semantics of rev-parse needs to be clarified.
 * show-branch may want to show things in topological order, not
   time-based order.
 * There are commands that were well intentioned but not useful
   in practice, like build-rev-cache.  I would like to review
   them for removal.
 * Cloning a packed repository over HTTP should work natively
   now.  Update "git clone" and remove "git-clone-dumb-http".
 
Linus Torvalds· Aug 23, 2005, 17:31 UTC · re: Junio C Hamano · lore

Re: Current status toward 0.99.5 and beyond

On Tue, 23 Aug 2005, Junio C Hamano wrote:
Show 9 quoted lines
>
> So far, the following commands should be usable with relative directory
> paths:
> 
>     update-cache
>     ls-files
>     diff-files
>     diff-cache
>     diff-tree
Also, git-rev-parse.

Finally, this trivial patch makes "git-rev-list" also able to handle not being in the top-level directory, which makes it possible to do "git log" and "git-whatchanged" at any point in the directory structure.

			Linus
---
Subject: Make "git-rev-list" work within subdirectories

This trivial patch makes ""git-rev-list" able to handle not being in the top-level directory. This magically also makes "git-whatchanged" do the right thing.

Trivial scripting fix to make sure that "git log" also works.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---
diff --git a/git-log-script b/git-log-script
--- a/git-log-script
+++ b/git-log-script
@@ -1,5 +1,4 @@
 #!/bin/sh
-. git-sh-setup-script || die "Not a git archive"
-revs=$(git-rev-parse --revs-only --default HEAD "$@")
+revs=$(git-rev-parse --revs-only --default HEAD "$@") || exit
 [ "$revs" ] || die "No HEAD ref"
 git-rev-list --pretty $(git-rev-parse --default HEAD "$@") | LESS=-S ${PAGER:-less}
diff --git a/rev-list.c b/rev-list.c
--- a/rev-list.c
+++ b/rev-list.c
@@ -481,6 +481,7 @@ static void handle_one_commit(struct com
 int main(int argc, char **argv)
 {
 	struct commit_list *list = NULL;
+	const char *prefix = setup_git_directory();
 	int i, limited = 0;
 
 	for (i = 1 ; i < argc; i++) {

← back to recent threads