Re: [PATCH] dim: Specify maintainer-tools branch name
On 11/11/2018 09:39, Daniel Vetter wrote: On Sat, Nov 10, 2018 at 12:04 AM Daniele Ceraolo Spurio wrote: On 09/11/2018 00:38, Daniel Vetter wrote: On Fri, Nov 9, 2018 at 2:28 AM Daniele Ceraolo Spurio wrote: When using worktree, the src repo might already have a master branch, which would make dim setup fail. Use a different name to avoid clashes. dim_update_branches is also expecting the branch to be called maintainer-tools. Signed-off-by: Daniele Ceraolo Spurio I think the worktree stopped making sense, now that maintainer-tools is a completely free-standing repo without a simple git clone would be better. Plus maybe a git branch -m to rename the master branch to maintainer-tools to keep dim_update_branches happy. The worktree was really just to avoid having to constantly refetch unrelated kernel commits for the maintainer-tools checkout, while that was still living in drm-intel. -Daniel Would something like this work? function simple_setup_aux_checkout # name url directory [branch] { local name url dir remote branch name=$1 url=$2 dir=$3 if [[ $# -eq 4 ]]; then branch=$4 else branch=$name fi echo "Setting up $dir ..." if [ ! -d $dir ]; then git clone $url $dir remote=origin fi cd $dir if [ -z "$remote" ]; then remote=$(url_to_remote $url) fi if ! git_branch_exists $branch ; then if git_branch_exists $name; then git branch -m $name $branch else git checkout $branch -t $remote/$name fi fi cd - > /dev/null } Or should I just add something tailored for maintainer-tools? I think a tailored setup_maintainer_tools_checkout makes the most sense. No need to overcomplicate a git clone. I also don't think we need any of the backwards compat stuff, broken setups just need to be undone ... -Daniel I've been diverted on some other high priority tasks and didn't have time to go back to this during the week. I'm out next week and I can fix it when I'm back, but if someone else wants to pick it up while I'm away feel free. Note that dim-setup has issues without this. Thanks, Daniele Thanks, Daniele --- dim | 22 ++ 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/dim b/dim index 3d6548568b56..78d69a5bd864 100755 --- a/dim +++ b/dim @@ -2082,25 +2082,31 @@ function dim_status done } -function setup_aux_checkout # name url directory +function setup_aux_checkout # name url directory [branch] { - local name url dir remote + local name url dir remote branch name=$1 url=$2 dir=$3 + if [[ $# -eq 4 ]]; then + branch=$4 + else + branch=$name + fi + echo "Setting up $dir ..." if [ ! -d $dir ]; then if git help worktree &> /dev/null ; then cd $DIM_PREFIX/$DIM_REPO remote=$(url_to_remote $url) - if ! git_branch_exists $name ; then + if ! git_branch_exists $branch ; then git_fetch_helper $remote - git branch --track $name $remote/$name + git branch --track $branch $remote/$name fi - git worktree add $DIM_PREFIX/$dir $name + git worktree add $DIM_PREFIX/$dir $branch else git clone --reference=$DIM_PREFIX/$DIM_REPO/.git $url $dir cd $dir @@ -2113,8 +2119,8 @@ function setup_aux_checkout # name url directory cd $dir remote=$(url_to_remote $url) fi - if ! git_branch_exists $name ; then - git checkout -t $remote/$name + if ! git_branch_exists $branch ; then + git checkout $branch -t $remote/$name fi cd - > /dev/null } @@ -2146,7 +2152,7 @@ function dim_setup cd $DIM_PREFIX - setup_aux_checkout master $maintainer_tools_https maintainer-tools + setup_aux_checkout master $maintainer_tools_https maintainer-tools maintainer-tools setup_aux_checkout rerere-cache $drm_tip_ssh drm-rerere -- 2.19.1 ___ dim-tools mailing list dim-tools@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dim-tools ___ dim-tools mailing list dim-tools@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dim-tools
Re: [PATCH] dim: Specify maintainer-tools branch name
On Sat, Nov 10, 2018 at 12:04 AM Daniele Ceraolo Spurio wrote: > > > > On 09/11/2018 00:38, Daniel Vetter wrote: > > On Fri, Nov 9, 2018 at 2:28 AM Daniele Ceraolo Spurio > > wrote: > >> > >> When using worktree, the src repo might already have a master branch, > >> which would make dim setup fail. Use a different name to avoid > >> clashes. dim_update_branches is also expecting the branch to be > >> called maintainer-tools. > >> > >> Signed-off-by: Daniele Ceraolo Spurio > > > > I think the worktree stopped making sense, now that maintainer-tools > > is a completely free-standing repo without a simple git clone would be > > better. Plus maybe a git branch -m to rename the master branch to > > maintainer-tools to keep dim_update_branches happy. > > > > The worktree was really just to avoid having to constantly refetch > > unrelated kernel commits for the maintainer-tools checkout, while that > > was still living in drm-intel. > > -Daniel > > Would something like this work? > > function simple_setup_aux_checkout # name url directory [branch] > { > local name url dir remote branch > > name=$1 > url=$2 > dir=$3 > > if [[ $# -eq 4 ]]; then > branch=$4 > else > branch=$name > fi > echo "Setting up $dir ..." > > if [ ! -d $dir ]; then > git clone $url $dir > remote=origin > fi > > cd $dir > if [ -z "$remote" ]; then > remote=$(url_to_remote $url) > fi > > if ! git_branch_exists $branch ; then > if git_branch_exists $name; then > git branch -m $name $branch > else > git checkout $branch -t $remote/$name > fi > fi > cd - > /dev/null > } > > Or should I just add something tailored for maintainer-tools? I think a tailored setup_maintainer_tools_checkout makes the most sense. No need to overcomplicate a git clone. I also don't think we need any of the backwards compat stuff, broken setups just need to be undone ... -Daniel > > Thanks, > Daniele > > >> --- > >> dim | 22 ++ > >> 1 file changed, 14 insertions(+), 8 deletions(-) > >> > >> diff --git a/dim b/dim > >> index 3d6548568b56..78d69a5bd864 100755 > >> --- a/dim > >> +++ b/dim > >> @@ -2082,25 +2082,31 @@ function dim_status > >> done > >> } > >> > >> -function setup_aux_checkout # name url directory > >> +function setup_aux_checkout # name url directory [branch] > >> { > >> - local name url dir remote > >> + local name url dir remote branch > >> > >> name=$1 > >> url=$2 > >> dir=$3 > >> > >> + if [[ $# -eq 4 ]]; then > >> + branch=$4 > >> + else > >> + branch=$name > >> + fi > >> + > >> echo "Setting up $dir ..." > >> > >> if [ ! -d $dir ]; then > >> if git help worktree &> /dev/null ; then > >> cd $DIM_PREFIX/$DIM_REPO > >> remote=$(url_to_remote $url) > >> - if ! git_branch_exists $name ; then > >> + if ! git_branch_exists $branch ; then > >> git_fetch_helper $remote > >> - git branch --track $name $remote/$name > >> + git branch --track $branch $remote/$name > >> fi > >> - git worktree add $DIM_PREFIX/$dir $name > >> + git worktree add $DIM_PREFIX/$dir $branch > >> else > >> git clone --reference=$DIM_PREFIX/$DIM_REPO/.git > >> $url $dir > >> cd $dir > >> @@ -2113,8 +2119,8 @@ function setup_aux_checkout # name url directory > >> cd $dir > >> remote=$(url_to_remote $url) > >> fi > >> - if ! git_branch_exists $name ; then > >> - git checkout -t $remote/$name > >> + if ! git_branch_exists $branch ; then > >> + git checkout $branch -t $remote/$name > >> fi > >> cd - > /dev/null > >> } > >> @@ -2146,7 +2152,7 @@ function dim_setup > >> > >> cd $DIM_PREFIX > >> > >> - setup_aux_checkout master $maintainer_tools_https maintainer-tools > >> + setup_aux_checkout master $maintainer_tools_https maintainer-tools > >> maintainer-tools > >> > >> setup_aux_checkout rerere-cache $drm_tip_ssh drm-rerere > >> > >> -- > >> 2.19.1 > >> > >> ___ > >> dim-tools mailing list > >> dim-tools@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/dim-tools > > > > > > -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch
Re: [PATCH] dim: Specify maintainer-tools branch name
On 09/11/2018 00:38, Daniel Vetter wrote: On Fri, Nov 9, 2018 at 2:28 AM Daniele Ceraolo Spurio wrote: When using worktree, the src repo might already have a master branch, which would make dim setup fail. Use a different name to avoid clashes. dim_update_branches is also expecting the branch to be called maintainer-tools. Signed-off-by: Daniele Ceraolo Spurio I think the worktree stopped making sense, now that maintainer-tools is a completely free-standing repo without a simple git clone would be better. Plus maybe a git branch -m to rename the master branch to maintainer-tools to keep dim_update_branches happy. The worktree was really just to avoid having to constantly refetch unrelated kernel commits for the maintainer-tools checkout, while that was still living in drm-intel. -Daniel Would something like this work? function simple_setup_aux_checkout # name url directory [branch] { local name url dir remote branch name=$1 url=$2 dir=$3 if [[ $# -eq 4 ]]; then branch=$4 else branch=$name fi echo "Setting up $dir ..." if [ ! -d $dir ]; then git clone $url $dir remote=origin fi cd $dir if [ -z "$remote" ]; then remote=$(url_to_remote $url) fi if ! git_branch_exists $branch ; then if git_branch_exists $name; then git branch -m $name $branch else git checkout $branch -t $remote/$name fi fi cd - > /dev/null } Or should I just add something tailored for maintainer-tools? Thanks, Daniele --- dim | 22 ++ 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/dim b/dim index 3d6548568b56..78d69a5bd864 100755 --- a/dim +++ b/dim @@ -2082,25 +2082,31 @@ function dim_status done } -function setup_aux_checkout # name url directory +function setup_aux_checkout # name url directory [branch] { - local name url dir remote + local name url dir remote branch name=$1 url=$2 dir=$3 + if [[ $# -eq 4 ]]; then + branch=$4 + else + branch=$name + fi + echo "Setting up $dir ..." if [ ! -d $dir ]; then if git help worktree &> /dev/null ; then cd $DIM_PREFIX/$DIM_REPO remote=$(url_to_remote $url) - if ! git_branch_exists $name ; then + if ! git_branch_exists $branch ; then git_fetch_helper $remote - git branch --track $name $remote/$name + git branch --track $branch $remote/$name fi - git worktree add $DIM_PREFIX/$dir $name + git worktree add $DIM_PREFIX/$dir $branch else git clone --reference=$DIM_PREFIX/$DIM_REPO/.git $url $dir cd $dir @@ -2113,8 +2119,8 @@ function setup_aux_checkout # name url directory cd $dir remote=$(url_to_remote $url) fi - if ! git_branch_exists $name ; then - git checkout -t $remote/$name + if ! git_branch_exists $branch ; then + git checkout $branch -t $remote/$name fi cd - > /dev/null } @@ -2146,7 +2152,7 @@ function dim_setup cd $DIM_PREFIX - setup_aux_checkout master $maintainer_tools_https maintainer-tools + setup_aux_checkout master $maintainer_tools_https maintainer-tools maintainer-tools setup_aux_checkout rerere-cache $drm_tip_ssh drm-rerere -- 2.19.1 ___ dim-tools mailing list dim-tools@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dim-tools ___ dim-tools mailing list dim-tools@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dim-tools
Re: [PATCH] dim: Specify maintainer-tools branch name
On Fri, Nov 9, 2018 at 2:28 AM Daniele Ceraolo Spurio wrote: > > When using worktree, the src repo might already have a master branch, > which would make dim setup fail. Use a different name to avoid > clashes. dim_update_branches is also expecting the branch to be > called maintainer-tools. > > Signed-off-by: Daniele Ceraolo Spurio I think the worktree stopped making sense, now that maintainer-tools is a completely free-standing repo without a simple git clone would be better. Plus maybe a git branch -m to rename the master branch to maintainer-tools to keep dim_update_branches happy. The worktree was really just to avoid having to constantly refetch unrelated kernel commits for the maintainer-tools checkout, while that was still living in drm-intel. -Daniel > --- > dim | 22 ++ > 1 file changed, 14 insertions(+), 8 deletions(-) > > diff --git a/dim b/dim > index 3d6548568b56..78d69a5bd864 100755 > --- a/dim > +++ b/dim > @@ -2082,25 +2082,31 @@ function dim_status > done > } > > -function setup_aux_checkout # name url directory > +function setup_aux_checkout # name url directory [branch] > { > - local name url dir remote > + local name url dir remote branch > > name=$1 > url=$2 > dir=$3 > > + if [[ $# -eq 4 ]]; then > + branch=$4 > + else > + branch=$name > + fi > + > echo "Setting up $dir ..." > > if [ ! -d $dir ]; then > if git help worktree &> /dev/null ; then > cd $DIM_PREFIX/$DIM_REPO > remote=$(url_to_remote $url) > - if ! git_branch_exists $name ; then > + if ! git_branch_exists $branch ; then > git_fetch_helper $remote > - git branch --track $name $remote/$name > + git branch --track $branch $remote/$name > fi > - git worktree add $DIM_PREFIX/$dir $name > + git worktree add $DIM_PREFIX/$dir $branch > else > git clone --reference=$DIM_PREFIX/$DIM_REPO/.git $url > $dir > cd $dir > @@ -2113,8 +2119,8 @@ function setup_aux_checkout # name url directory > cd $dir > remote=$(url_to_remote $url) > fi > - if ! git_branch_exists $name ; then > - git checkout -t $remote/$name > + if ! git_branch_exists $branch ; then > + git checkout $branch -t $remote/$name > fi > cd - > /dev/null > } > @@ -2146,7 +2152,7 @@ function dim_setup > > cd $DIM_PREFIX > > - setup_aux_checkout master $maintainer_tools_https maintainer-tools > + setup_aux_checkout master $maintainer_tools_https maintainer-tools > maintainer-tools > > setup_aux_checkout rerere-cache $drm_tip_ssh drm-rerere > > -- > 2.19.1 > > ___ > dim-tools mailing list > dim-tools@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dim-tools -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch ___ dim-tools mailing list dim-tools@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dim-tools