Details

    • Type: Improvement
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.9.1
    • Fix Version/s: 1.5.0
    • Component/s: Git
    • Labels:
      None
    • Last commented by user?:
      true

      Description

      Currently we use git flow (see https://github.com/nvie/gitflow or http://nvie.com/posts/a-successful-git-branching-model/).

      Unfortunately currently we have to use the command line for this purpose.

      Since git flow is really a great tool, support in source tree would be really cool.

        Attachments

          Activity

          Hide
          sstreeting Steve Streeting [Atlassian] added a comment -

          Higher-level workflows are something I'm considering for a future version. I've used this kind of branching model for years, even as far back as CVS in fact (just not to the same level because the merging wasn't as reliable), I've just never felt the need to have new commands to perform it. I've read about git flow before and found it interesting, but I never really saw a need for it, since I'd used this kind of model just with the branch/merge commands.

          So, I'm not necessarily considering direct support for git flow, but perhaps support for the same style of automation that it provides, in a future version.

          Show
          sstreeting Steve Streeting [Atlassian] added a comment - Higher-level workflows are something I'm considering for a future version. I've used this kind of branching model for years, even as far back as CVS in fact (just not to the same level because the merging wasn't as reliable), I've just never felt the need to have new commands to perform it. I've read about git flow before and found it interesting, but I never really saw a need for it, since I'd used this kind of model just with the branch/merge commands. So, I'm not necessarily considering direct support for git flow, but perhaps support for the same style of automation that it provides, in a future version.
          Hide
          jacky1970 Jacky Vaillancourt added a comment -

          I think that even if that's something that could be done manually, the git flow workflow will help a lot of organisation to structure their work.

          I think you have an opportunity here to build a tool, which will help a lot of organisations, and at the same time, help you get into more organisations.

          Show
          jacky1970 Jacky Vaillancourt added a comment - I think that even if that's something that could be done manually, the git flow workflow will help a lot of organisation to structure their work. I think you have an opportunity here to build a tool, which will help a lot of organisations, and at the same time, help you get into more organisations.
          Hide
          sstreeting Steve Streeting [Atlassian] added a comment -

          Thanks for the comment. I agree to a point, although I think git flow is overkill for many teams / organisations, and I'm concerned about it being pointed to as the ideal model by some without the context of how complex your project is. For example GitHub themselves don't use it, they use a more pragmatic model: http://scottchacon.com/2011/08/31/github-flow.html . Teams I've worked on use a sort-of git flow model (regardless of whether they're using git or not), but the decision of when to branch is considerably less black & white than git flow suggests - it's a question of context and degree.

          So I'd like to add support for higher level workflows, I'm just not sure what that looks like yet in order to cover the most bases. Just copying / implementing git flow isn't what I'd consider the best solution.

          Show
          sstreeting Steve Streeting [Atlassian] added a comment - Thanks for the comment. I agree to a point, although I think git flow is overkill for many teams / organisations, and I'm concerned about it being pointed to as the ideal model by some without the context of how complex your project is. For example GitHub themselves don't use it, they use a more pragmatic model: http://scottchacon.com/2011/08/31/github-flow.html . Teams I've worked on use a sort-of git flow model (regardless of whether they're using git or not), but the decision of when to branch is considerably less black & white than git flow suggests - it's a question of context and degree. So I'd like to add support for higher level workflows, I'm just not sure what that looks like yet in order to cover the most bases. Just copying / implementing git flow isn't what I'd consider the best solution.
          Hide
          entropyworks Yazz D. Atlas added a comment -

          I have to agree with Jacky. You have an opportunity here since there is not a GUI tool currently available that can enforce the git-flow model.

          http://scottchacon.com/2011/08/31/github-flow.html

          "... the issue is that it cannot be enforced in a Git GUI, only on the command line ..."

          I know a few developers that are very uncomfortable at the cli and would like a GUI like SourceTree with git-flow support. If it could simplify there work flow.

          "For teams that have to do formal releases on a longer term interval (a few weeks to a few months between releases), and be able to do hot-fixes and maintenance branches and other things that arise from shipping so infrequently, git-flow makes sense and I would highly advocate it’s use."

          just my $0.02

          Show
          entropyworks Yazz D. Atlas added a comment - I have to agree with Jacky. You have an opportunity here since there is not a GUI tool currently available that can enforce the git-flow model. http://scottchacon.com/2011/08/31/github-flow.html "... the issue is that it cannot be enforced in a Git GUI, only on the command line ..." I know a few developers that are very uncomfortable at the cli and would like a GUI like SourceTree with git-flow support. If it could simplify there work flow. "For teams that have to do formal releases on a longer term interval (a few weeks to a few months between releases), and be able to do hot-fixes and maintenance branches and other things that arise from shipping so infrequently, git-flow makes sense and I would highly advocate it’s use." just my $0.02
          Hide
          sstreeting Steve Streeting [Atlassian] added a comment -

          Thanks for the feedback. It seems a lot of people like the formalisation aspect of the git-flow model despite the fact that it's really no different from the feature branch model lots of people use already without ever touching git-flow (and indeed predated git-flow by some years). Perhaps the best approach would be to support a git-flow workflow from the standpoint of familiarity / integration with existing company standards while still supporting those with a more flexible model.

          Definitely on my radar. I'm going to assign this to 1.4 even though I'm not sure I'll get to it and it's more likely to be 1.5, because I want to make sure I keep returning to it to evolve my thinking.

          Show
          sstreeting Steve Streeting [Atlassian] added a comment - Thanks for the feedback. It seems a lot of people like the formalisation aspect of the git-flow model despite the fact that it's really no different from the feature branch model lots of people use already without ever touching git-flow (and indeed predated git-flow by some years). Perhaps the best approach would be to support a git-flow workflow from the standpoint of familiarity / integration with existing company standards while still supporting those with a more flexible model. Definitely on my radar. I'm going to assign this to 1.4 even though I'm not sure I'll get to it and it's more likely to be 1.5, because I want to make sure I keep returning to it to evolve my thinking.
          Hide
          chriscinelli Chris Cinelli added a comment -

          I like the idea of people being able to create their own flow.
          However at the current moment, having git-flow model would be enough for me and my team.
          I like a lot this video on Git-Flow: http://www.codesherpas.com/screencasts/on_the_path_gitflow.mov
          It makes feel everything around revision control so simple

          Show
          chriscinelli Chris Cinelli added a comment - I like the idea of people being able to create their own flow. However at the current moment, having git-flow model would be enough for me and my team. I like a lot this video on Git-Flow: http://www.codesherpas.com/screencasts/on_the_path_gitflow.mov It makes feel everything around revision control so simple
          Hide
          dvj Doug added a comment -

          git is still a fairly scary tool for a lot of people, just because of it's open ended nature. Getting my designers and support people to a) use git, and b) not mess things up, is still a bit tricky. GUI tools are especially useful for people in this category, who are likely to not be command line masters. Having a constraint enforcement model built in would make SourceTree even more appealing by making it the go-to choice for people looking for some guidance.

          It would be great if these types of enforcements could be programmatically described as a set of rules which the workflow follows. git-flow would then just be one possible instantiation of a set of rules, and organizations would be free to tailor to their needs.

          Show
          dvj Doug added a comment - git is still a fairly scary tool for a lot of people, just because of it's open ended nature. Getting my designers and support people to a) use git, and b) not mess things up, is still a bit tricky. GUI tools are especially useful for people in this category, who are likely to not be command line masters. Having a constraint enforcement model built in would make SourceTree even more appealing by making it the go-to choice for people looking for some guidance. It would be great if these types of enforcements could be programmatically described as a set of rules which the workflow follows. git-flow would then just be one possible instantiation of a set of rules, and organizations would be free to tailor to their needs.
          Hide
          sstreeting Steve Streeting [Atlassian] added a comment -

          @Doug: Good point, although I personally think git-flow is a bad choice for that, since it encourages over-complexity in my view. Also given that designers work with binary files a lot, the very last thing you want to do is promote an overly branchy model because merging is more likely to bite you further down the line (not being branchy doesn't avoid it, but at least you find out faster, saving lost work).

          It's another reason why I'd really like to provide a more holistic approach to this, with git-flow being just one instance. Which is also one reason why it's not done yet.

          Show
          sstreeting Steve Streeting [Atlassian] added a comment - @Doug: Good point, although I personally think git-flow is a bad choice for that, since it encourages over-complexity in my view. Also given that designers work with binary files a lot, the very last thing you want to do is promote an overly branchy model because merging is more likely to bite you further down the line (not being branchy doesn't avoid it, but at least you find out faster, saving lost work). It's another reason why I'd really like to provide a more holistic approach to this, with git-flow being just one instance. Which is also one reason why it's not done yet.
          Hide
          cbandy Chris Bandy added a comment -

          I agree with @sstreeting that workflows are the general case to solve here.

          Custom actions are almost a viable workaround for using git-flow from the GUI, except for the inability to prompt the user for input, e.g. the name of a feature branch.

          If this capability were added, I can imagine a "Workflow" menu that is configured and behaves just like the existing Custom Actions feature.

          Show
          cbandy Chris Bandy added a comment - I agree with @sstreeting that workflows are the general case to solve here. Custom actions are almost a viable workaround for using git-flow from the GUI, except for the inability to prompt the user for input, e.g. the name of a feature branch. If this capability were added, I can imagine a "Workflow" menu that is configured and behaves just like the existing Custom Actions feature.
          Hide
          sstreeting Steve Streeting [Atlassian] added a comment -

          Having spent some time with both git flow and hg flow, I can definitely see their utility now, particularly around consistency and ease of training. I've actually changed my opinion on the implementation detail; I think their standardisation and defaults is their strength, and much more useful than the open-ended, more generic workflow system that I had thought would be a better approach before I really started using them in earnest.

          Therefore I've implemented explicit support for both git-flow and hg-flow and their usual concepts (features, releases, hotfixes) in 1.5, with some hopefully useful preview areas to improve visibility of what's going on, and contextual defaults for the next most likely action (e.g. finishing a feature if you're on a feature branch) Example: https://skitch.com/sjstreeting/edf8d/sourcetree-gitflow

          Show
          sstreeting Steve Streeting [Atlassian] added a comment - Having spent some time with both git flow and hg flow, I can definitely see their utility now, particularly around consistency and ease of training. I've actually changed my opinion on the implementation detail; I think their standardisation and defaults is their strength, and much more useful than the open-ended, more generic workflow system that I had thought would be a better approach before I really started using them in earnest. Therefore I've implemented explicit support for both git-flow and hg-flow and their usual concepts (features, releases, hotfixes) in 1.5, with some hopefully useful preview areas to improve visibility of what's going on, and contextual defaults for the next most likely action (e.g. finishing a feature if you're on a feature branch) Example: https://skitch.com/sjstreeting/edf8d/sourcetree-gitflow
          Hide
          rehdie Dieter Rehbein added a comment -

          great, thanks a lot!

          Show
          rehdie Dieter Rehbein added a comment - great, thanks a lot!

            People

            • Votes:
              5 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Last commented:
                3 years, 32 weeks, 5 days ago