Making a new branch of an existing project on Launchpad is not obvious, requires having bzr installed and copying (some) branch data around

Bug #408097 reported by Eduardo de Oliveira Padoan
182
This bug affects 35 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
Low
Unassigned

Bug Description

Symptoms
========

The web UI for Launchpad says the following when looking at a branch:
'''Get this branch:
bzr branch lp:~james-w/launchpad/more-matchers
You cannot upload to this branch. Only James Westby can upload to this branch
'''

This doesn't help new users of bzr and Launchpad figure out how to get a new public copy of this branch in their own namespace. Further to that users have to have bzr available and will copy (at minimum) the size of a single inventory around.

Users can already have Launchpad operate on branches for them and there are bugs that if fixed will extend these operations.

Possible solutions
==================

* Currently preferred: bitbucket and github have a 'Fork' button on branches/repositories which will create a copy in the users personal area. This can ask questions about naming and so forth before running the operation on the server side.

* A tutorial/wizard could be linked to which would describe the right bzr commands to do the operation via bzr. If done as a wizard questions like what name to call the new branch could be asked. This is not preferred because it is harder for users to use and doesn't address all the symptoms.

Tags: lp-code
affects: launchpad → launchpad-code
Revision history for this message
Tim Penhey (thumper) wrote :

What benefit would this give to you as a user? Why would you do this? If you need a copy locally, why fork it remotely first?

Tim Penhey (thumper)
Changed in launchpad-code:
status: New → Incomplete
Revision history for this message
Martin Pool (mbp) wrote : Re: [Bug 408097] Re: Add a "Fork" button on the branch page (like github/bitbucket)

2009/8/16 Tim Penhey <email address hidden>:
> What benefit would this give to you as a user?  Why would you do this?
> If you need a copy locally, why fork it remotely first?

* makes you aware that you *can* fork the thing and host it on launchpad
* gives a chance to take them through guided registration or login,
including establishing ssh keys
* may be easier to get the right setup of urls if they do it through a
web ui than by typing

--
Martin <http://launchpad.net/~mbp/>

Revision history for this message
Tim Penhey (thumper) wrote : Re: [Bug 408097] Re: Add a "Fork" button on the branch page (like github/bitbucket)

On Fri, 21 Aug 2009 17:26:19 Martin Pool wrote:
> 2009/8/16 Tim Penhey <email address hidden>:
> > What benefit would this give to you as a user? Why would you do this?
> > If you need a copy locally, why fork it remotely first?
>
> * makes you aware that you *can* fork the thing and host it on launchpad
> * gives a chance to take them through guided registration or login,
> including establishing ssh keys
> * may be easier to get the right setup of urls if they do it through a
> web ui than by typing
>
> --
> Martin <http://launchpad.net/~mbp/>

  status triaged
  importance medium

OK. Seems like enough pluses :)

Changed in launchpad-code:
importance: Undecided → Medium
status: Incomplete → Triaged
Revision history for this message
Zhang Weiwu (zhangweiwu) wrote : Re: Add a "Fork" button on the branch page (like github/bitbucket)

Hi. just to let you know, as a new user who just finished the 5 minutes guide for bzr, I am a bit worried if I fork it locally and push it on the server, the server isn't aware it being a fork and thus treat it as a commit of new code. Having a feature on the web makes it easier for new bzr users start coding with only knowing ci/add/rm/mv/push commands (typical for those who are from subversion). One might ask should every feature be implemented on the web. I think only fork is to be on the web because in other cases the new developer do not worry version system stores the same code twice.

I just created a fork following guide:
almustafa@Orphalese:~/Projects$ bzr branch lp:~zhangweiwu/addressbook/addressbook addressbook-0.8
Branched 10 revision(s).
almustafa@Orphalese:~/Projects$ cd addressbook-0.8/
almustafa@Orphalese:~/Projects/addressbook-0.8$ bzr push lp:~zhangweiwu/addressbook/addressbook-0.8
Created new branch.

and not really sure if the server side knows I did a fork instead of new code.

Revision history for this message
plod (me-plod) wrote :

I would like to say that I agree with the above points regarding this issue. I ended up on this page because of googling "how to fork on launchpad"

Revision history for this message
Aaron Bentley (abentley) wrote :

If Launchpad were performing forks, we could presumably avoid scanning the branch immediately after forking, since the new branch will be an exact copy of the old one. When we create the sourcepackage branches for a new distro, using such a facility would be a great advantage, because it would remove the need to scan thousands of branches immediately.

Revision history for this message
Joseph Lisee (jlisee) wrote :

This might make the process a little more discoverable from a new users perspective. I had to do a little digging to figure out the proper way to do a user owned branch of a project, and go through the whole ssh key deal. A tiny bit of hand holding might increase involvement.

Revision history for this message
Eric Schrijver (schrijver) wrote :

+1, I had the same experience as plod.

Revision history for this message
dot dot dot (dotdotdotdeactivated-deactivatedaccount) wrote :

I'm still googling around trying to figure out how to have our GSoC student fork from our project's trunk. Would be nice to have a button that combines all the steps in one place to the GUI of LP.

Revision history for this message
Jonathan Lange (jml) wrote :

"bzr branch lp:foo" to make a local copy
"bzr push lp:~student-lp-id/foo/branch-name" to push to Launchpad

Agree it would be nice to have a button.

Revision history for this message
dot dot dot (dotdotdotdeactivated-deactivatedaccount) wrote : Re: [Bug 408097] Re: Add a "Fork" button on the branch page (like github/bitbucket)

Thanks for the tip [?]

On Fri, May 20, 2011 at 11:34, Jonathan Lange <email address hidden> wrote:

> "bzr branch lp:foo" to make a local copy
> "bzr push lp:~student-lp-id/foo/branch-name" to push to Launchpad
>
> Agree it would be nice to have a button.
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/408097
>
> Title:
> Add a "Fork" button on the branch page (like github/bitbucket)
>
> Status in Launchpad itself:
> Triaged
>
> Bug description:
> Both bitbucket and github have extremely useful "Fork" buttons on the
> branches pages.
>
> To register a new branch, instead of doing:
>
> 1) find interesting branch n the site;
> 2) "bzr branch lp:<branch address copied from that page> <my branch name>"
> 3) "bzr push lp:~username/+junk/<my branch name>" or something like
> "lp:~<team name>/<project name>/<my branch name>"
>
> One could simply:
> 1) Find interesting branch n the site;
> 2) Click on "Fork this branch"
> 3) [Maybe] Choose to register as +junk or on a team/project namespace with
> some nice Ajax-y box.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/launchpad/+bug/408097/+subscribe
>

--
.:triune.

summary: - Add a "Fork" button on the branch page (like github/bitbucket)
+ How to make a new branch of an existing project on Launchpad is not
+ obvious
Changed in launchpad:
importance: Medium → Low
description: updated
Revision history for this message
Jonathan Lange (jml) wrote : Re: How to make a new branch of an existing project on Launchpad is not obvious

I'm not sure re-phrasing the topic actually helps here. Another aspect is that you need to fetch a branch then re-push, which is a problem due to the time and network capacity that it takes. Filing a separate bug seems less useful than just having this bug be "Add a 'Fork' button".

Revision history for this message
Robert Collins (lifeless) wrote :

MMM, the network overhead and capacity is (in all cases I've drilled into) equivalent with either implementation: We don't support server side commits (there is a separate bug for that) and thus users have to make a local branch to have an interestingly different branch.

That said, I'm totally happy with saying that a server side creation of the branch is a preferred solution because of how that fits in with other bugs. Doing so now.

Meta: If I hadn't rephrased the topic, we wouldn't have captured this, so I think it was still beneficial to do so :)

description: updated
summary: - How to make a new branch of an existing project on Launchpad is not
- obvious
+ Making a new branch of an existing project on Launchpad is not obvious
+ and requires having bzr installed and copying (some) branch data around
description: updated
summary: - Making a new branch of an existing project on Launchpad is not obvious
- and requires having bzr installed and copying (some) branch data around
+ Making a new branch of an existing project on Launchpad is not obvious,
+ requires having bzr installed and copying (some) branch data around
Revision history for this message
Viktor Nova (viktornova) wrote :

I'm surprised to see this started nearly 4 years ago!
Launchpad *needs* this.

I am starting to learn that bzr is very similar to git, and a simple "Fork" button would really go a long way in getting more people contributing code. GitHub has blown up like crazy and many people started using it because it exposes the common functions of git in a way that is obvious to newcomers, and this would make people coming to Launchpad from git a whole lot less intimidated by how different/more complicated Launchpad seems at first

The documentation (as well as the layout of Launchpad itself) is overly complex and easy to get lost in, it has taken me months to realize I can fork a bzr repo and commit my own changes and build packages of my fork *easily* , but I really had to dig to figure that out! I know it's in the docs, but it is not very punctuated

Please add a fork button!

Revision history for this message
Josue Cezar (jos-cezar-w) wrote :

I'm a newcomer, want to customize my own distro, but I'm tottally lost on forking and don't know how to start. A forking button would be really nice.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.