Linux Btrfs filesystem development
 help / color / mirror / Atom feed
* Btrfs git repos available
@ 2008-09-24 19:02 Chris Mason
  2008-09-25 21:06 ` Chris Mason
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Mason @ 2008-09-24 19:02 UTC (permalink / raw)
  To: linux-btrfs

Hello everyone,

As part of moving toward mainline, I've changed the Btrfs repositories
over to git.  So far I've only converted the unstable repositories
(thanks to some help from David Woodhouse, who already had -git forms of
things).

The progs-unstable repo is a direct clone of David's git repo.  The
kernel one has btrfs grafted into fs/btrfs.  All compatibility code for
older kernels has been removed.

I'll construct repos in git of btrfs as a stand alone module, and that
will include the compatibility code.

These git repos are not yet final, I may rebase them or redo them.  But,
all new patches are going into them instead of the mercurial repos.

Please give them a look and let me know if I've messed up the
conversion:

Kernel:

http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-unstable.git;a=summary

Progs:

http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs-unstable.git;a=summary

-chris



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Btrfs git repos available
  2008-09-24 19:02 Btrfs git repos available Chris Mason
@ 2008-09-25 21:06 ` Chris Mason
  2008-09-25 21:25   ` Zach Brown
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Mason @ 2008-09-25 21:06 UTC (permalink / raw)
  To: linux-btrfs

On Wed, 2008-09-24 at 15:02 -0400, Chris Mason wrote:
> Hello everyone,
> 
> As part of moving toward mainline, I've changed the Btrfs repositories
> over to git.  So far I've only converted the unstable repositories
> (thanks to some help from David Woodhouse, who already had -git forms of
> things).
> 
> The progs-unstable repo is a direct clone of David's git repo.  The
> kernel one has btrfs grafted into fs/btrfs.  All compatibility code for
> older kernels has been removed.
> 
> I'll construct repos in git of btrfs as a stand alone module, and that
> will include the compatibility code.
> 
> These git repos are not yet final, I may rebase them or redo them.  But,
> all new patches are going into them instead of the mercurial repos.
> 

Well, after some hints from Linus I've rebased these about 4 times now.
The new changesets are generally cleaner and are setup properly under
fs/btrfs.

So, if you were using a tree pulled before Thursday afternoon, please
delete it and clone again.  The btrfs-progs repo is unchanged.

> Kernel:
> 
> http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-unstable.git;a=summary
> 
> Progs:
> 
> http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs-unstable.git;a=summary
> 

-chris



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Btrfs git repos available
  2008-09-25 21:06 ` Chris Mason
@ 2008-09-25 21:25   ` Zach Brown
  2008-09-26  1:08     ` Chris Mason
  0 siblings, 1 reply; 4+ messages in thread
From: Zach Brown @ 2008-09-25 21:25 UTC (permalink / raw)
  To: Chris Mason; +Cc: linux-btrfs


> Well, after some hints from Linus I've rebased these about 4 times now.
> The new changesets are generally cleaner and are setup properly under
> fs/btrfs.

Can you publish these hints somewhere?

- z

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Btrfs git repos available
  2008-09-25 21:25   ` Zach Brown
@ 2008-09-26  1:08     ` Chris Mason
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Mason @ 2008-09-26  1:08 UTC (permalink / raw)
  To: Zach Brown; +Cc: linux-btrfs

On Thu, 2008-09-25 at 14:25 -0700, Zach Brown wrote:
> > Well, after some hints from Linus I've rebased these about 4 times =
now.
> > The new changesets are generally cleaner and are setup properly und=
er
> > fs/btrfs.
>=20
> Can you publish these hints somewhere?

Step one was to have all the changes from hg in git.  David Woodhouse
has been maintaining git copies of the btrfs repos for a while, so that
part was done for me.

Most of the hints come from man git-filter-branch.  Here's what was
wrong with the btrfs repos.

1) The btrfs repo had .hgtags and .hginore files in the changeset
history.  This wasn't horrible, but not too pretty.

2) Almost none of the changesets had Signed-off-by

3) The filenames needed to be rewritten under fs/btrfs.

----
=46or 1) the man page said to:

 git filter-branch --index-filter =C2=B4git rm -f --cached filename=C2=B4=
 HEAD

Which certainly did print output, but didn't actually change the
changesets.  Instead I used the slightly slower suggestion:

git filter-branch -f --tree-filter =C2=B4rm -f filename=C2=B4 HEAD

=46or 2) I made a script that added a signed-off-by from me for any
changeset that didn't have it.  myfilter is called with the old commit
message on stdin and the new message is taken from stdout.

git filter-branch -f --msg-filter myfilter HEAD

=46or 3) Linus provided a pretty little piece of bash:

#!/bin/sh
        exists=3D$(git ls-files fs/btrfs/)
        [ -z "$exists" ] &&
                git ls-files --stage | awk -F '\t' '{ print "0 00000000=
00000000000000000000000000000000\t" $2 "\n" $1 "\tfs/btrfs/" $2 }' | gi=
t update-index --index-info

You toss this into a script and then run:

git filter-branch -f --index-filter hack-from-linus HEAD

At this point you should have shiny new commits in a git repo, all
pretending to be under fs/btrfs.  You merge them into a git repo from
mainline and all should be good.

Linus requested that I not merge at a random changeset of the day, but
use a real release.  He also asked that I not pull from mainline into
the linux btrfs repo (a backwards merge) because that makes gitk make
ugly pictures.  In general unless there's a conflict there's no need to
update the mainline side of the btrfs repo.

-chris


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-09-26  1:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-24 19:02 Btrfs git repos available Chris Mason
2008-09-25 21:06 ` Chris Mason
2008-09-25 21:25   ` Zach Brown
2008-09-26  1:08     ` Chris Mason

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox