Subject: Re: [PATCH] gitweb: use action dispatcher for non-project actions, too.

From: Carl Worth <[email-masked]>
Date: Fri, 18 Aug 2006 07:03:29 -0700

On Fri, 18 Aug 2006 15:16:57 +0200, Petr Baudis wrote:
>
> Dear diary, on Thu, Aug 17, 2006 at 05:00:11PM CEST, I got a letter
> where Carl Worth <[email-masked]> said that...
> > PS. A secondary problem is the difficulty of publishing a new
> > branch. But if I can get the 3 URLs above down to 1, then I could
> > probably live with the user having to figure out how to combine the
> > repository URL with the branch name, (in different ways depending on
> > what the user is doing).
>
> Could you be more specific here, please? Is it just that Git won't
> automagically pick up new branches published on the server?

The best I've been able to come up with is:

	See my new branch <branch> at <URL>

Then it's up to the user to do one of the following (depending on what
they want):

1. For gitweb, either:

  a. Browse to <URL> and manually find <branch> in the list (ugh!)

  b. Manually construct a branch-specific URL: <URL>;h=<branch>

2. For git fetch/clone:

  Construct a command line looking something like this:

	git fetch <URL> <branch>:tracking-branch

  and optionally do some manual editing of a config file if they want
  to easily get at this branch again in the future.

And that assumes I can give out a single <URL> in the first place, of
course.

Beyond that, here are some of the things I would like:

* A single thingy I could publish for <URL> and <branch>. Ideally this
  would have no whitespace in it and would be directly
  cut-and-paste-able for use in either gitweb or the git command-line.

* A mechanism for not requiring me to invent tracking-branch names.  I
  end up manually doing a scheme with short prefixes for any given
  repository. It would be nice if I could configure that (in
  .git/remotes/<something> say) once so that any new branch I pulled
  would get its properly named tracking branch. And git could find the
  right remotes file by matching up the URL.

* An easy way, (maybe a one-letter command-line option), for stashing
  a branch I'm fetching off into .git/remotes/<something> where again,
  it would find the right file by matching the URL. This option might
  also let me/help me name <something> if this is the first time I'm
  fetching from a particular URL.

-Carl