Projects with multiple repositories

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

Projects with multiple repositories

syntevo Support
Hi all,

We think about reworking the sub-optimal repository/project management.
One technical problem which makes this rework process harder is the
current ability to group multiple repositories inside one project.

Hence we want to learn *how* and *why* you use projects with multiple
repositories, what operations you execute on the project root.

Maybe this input helps us to find a better repository management without
sacrificing your used work-flows. Thanks in advance for the input!

--
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

WORMSS
I do a mass PULL at the start of the day, (fetch only).


Would like:
Order Alphabetical. As the drag-reorder approach is horrible on my laptop screen is tiny and use a trackpad as I have to drag, scroll, drag more, scroll more, drag again.. blar blar.
When I am actually in the office this is less of a problem since I have a 24inch monitor in portrait view and a mouse. But it is now getting to the point where we have so many projects, even that is going to be not enough..

I would also love a periodic feature that would do a tiny check to see if its been updated on the remote. Maybe change the title of the repo or the branch Red/Orange/something so someone will know to do a Pull.
This is not a major problem for me since I pull at the start of the day but my co-workers are not very good at remembering to do it and always have to remind them how to do Merges or resolve conflicts. (Obviously optional, and not something that is stored in the .git folder, just a nice UI feature).

Would love the ability to drag/drop a Repo into Smartgit. I thought I read that this was done, but when I tested it, it didn't work.. Not sure if I am trying it to a different way that you guys implemented it but I would love to be able to just drag a Folder from Explorer and have it recursively dig through and find all the .git folders and add the repo's to the current Project.
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

syntevo Support
*Why* you have multiple repositories inside one project?

> I do a mass PULL at the start of the day, (fetch only).

Would a periodic fetch be a good alternative for you?

--
Best regards,
Thomas Singer
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


11/21/2013 16:20 - WORMSS wrote:

> I do a mass PULL at the start of the day, (fetch only).
>
>
> Would like:
> Order Alphabetical. As the drag-reorder approach is horrible on my laptop
> screen is tiny and use a trackpad as I have to drag, scroll, drag more,
> scroll more, drag again.. blar blar.
> When I am actually in the office this is less of a problem since I have a
> 24inch monitor in portrait view and a mouse. But it is now getting to the
> point where we have so many projects, even that is going to be not enough..
>
> I would also love a periodic feature that would do a tiny check to see if
> its been updated on the remote. Maybe change the title of the repo or the
> branch Red/Orange/something so someone will know to do a Pull.
> This is not a major problem for me since I pull at the start of the day but
> my co-workers are not very good at remembering to do it and always have to
> remind them how to do Merges or resolve conflicts. (Obviously optional, and
> not something that is stored in the .git folder, just a nice UI feature).
>
> Would love the ability to drag/drop a Repo into Smartgit. I thought I read
> that this was done, but when I tested it, it didn't work.. Not sure if I am
> trying it to a different way that you guys implemented it but I would love
> to be able to just drag a Folder from Explorer and have it recursively dig
> through and find all the .git folders and add the repo's to the current
> Project.
>
>
>
> --
> View this message in context:
> http://smartgit.3668570.n2.nabble.com/Projects-with-multiple-repositories-tp7574453p7574455.html
> Sent from the SmartGit mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

WORMSS
Because I have 60 repos in 1 project, they are all HTML5 code ones.
(I look after all the projects, checking logs and such, and it is good for me to have up to date info when one of my co-workers comes over and asks a question on 1 of them).

I have 10 repos in another project, they are all Flash ones.

And I have about 8 other projects all with 1 project in as those are forks or clones of github repos for personal use.

The 10 Flash ones I don't keep up to date as often mainly because I am the main Flash guy at the office so noone else really touches it.

The HTML5 ones have 20-30 people using them daily and only about 3 of them are proficient at Git to be left to their own devices. All working on different projects. I have a Chrome extension that keeps Pooling the organisation events page looking for updates, (I'm proud of that) and its usually about 3-4 updates an hour.

As to the periodic Fetch, that would be amazing for me, as I know how to fast-forward merge my work with confidences.
But I think it would be hard for me to explain to some of the less Git savy that they already have the commits, but they are not working from the latest Head. It all goes over their heads. But if I tell them that if your projects (title/background/something) goes Red/Orange/Purple/etc then they 'need' to do a Pull. They understand Pull, Push, Commit..

Staging, Merging, Conflicts, even just as simple as branching, they just dont have the confidence in and always get me to come over.

I understand you want to build off systems already in place, and I think personally, the Fetch is more useful to myself, but I think just a simple signal that there is something requiring a pull would be more their level.

Actually, doesn't even have to be a change in title colour, maybe like a little button or symbol next to the project root / repo root would be nice? That way you could do a hint box on Hover saying a Pull may be required...

Just an Idea.
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

Guy Rouillier-2
In reply to this post by syntevo Support
So far, we have not found a need to have more than one repo per
projects.  All our projects have only one repo each.

Others I work with use SourceTree from Atlassian.  I like SmartGit
better because I prefer separate Directories and Files views.

One area where I think SmartGit needs some improvement is in handling
multiple projects.  I've worked in CVS for the last 12 years; we've just
started moving to git in the last couple months.  I used the WinCvs
client, and that client allows easy navigation from one project to
another; each is just different folder in a tree view.

SourceTree takes a different approach; it has a separate top tab for
each project.  I don't like that approach; I find it too disruptive to
work flow.

SmartGit wants to open each project in a separate window, or have a new
project replace the contents of an existing window. Sometimes that is
handy, though sometimes that produces window clutter.  Have you
considered the WinCvs approach?  In your Directories window, you could
list all defined projects, unexpanded.  If I expand a particular
project, then open it and display the filelist. I should be able to have
multiple projects expanded at the same time; if I do, then the filelist
reflects whichever project has the selection bar.  In this scenario,
that window would be better labelled "Projects".

This would not negate multiple windows.  If I want that, I can just use
the existing Project - New Window.  But instead of prompting me which
project to open, it should just open with all the projects listed in the
Projects window explained above.  You'd probably want to add an
additional context menu item in the Projects window: "New window".  That
would open a new window, showing all projects in the projects window,
but with the selected one open.

Thanks for listening to your customers.

Thanks.

On 11/21/2013 9:59 AM, Thomas Singer (syntevo) wrote:

> Hi all,
>
> We think about reworking the sub-optimal repository/project management.
> One technical problem which makes this rework process harder is the
> current ability to group multiple repositories inside one project.
>
> Hence we want to learn *how* and *why* you use projects with multiple
> repositories, what operations you execute on the project root.
>
> Maybe this input helps us to find a better repository management without
> sacrificing your used work-flows. Thanks in advance for the input!
>
> --
> Best regards,
> Thomas Singer
> =============
> syntevo GmbH
> http://www.syntevo.com
> http://blog.syntevo.com
>
>


--
Guy Rouillier


------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/smartgit/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/smartgit/join
    (Yahoo! ID required)

<*> To change settings via email:
    [hidden email]
    [hidden email]

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo Groups is subject to:
    http://info.yahoo.com/legal/us/yahoo/utos/terms/

Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

WORMSS
This is the regular view that I see, I've removed a few for work privacy reasons.
Some of these are still without a commit as the project hasn't actually started, just been setup, but you get the idea.

List
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

AndreSomers
In reply to this post by syntevo Support
Thomas Singer (syntevo) schreef op 21-11-2013 15:59:

>
> Hi all,
>
> We think about reworking the sub-optimal repository/project management.
> One technical problem which makes this rework process harder is the
> current ability to group multiple repositories inside one project.
>
> Hence we want to learn *how* and *why* you use projects with multiple
> repositories, what operations you execute on the project root.
>
> Maybe this input helps us to find a better repository management without
> sacrificing your used work-flows. Thanks in advance for the input!
>
We're using multiple repositories ourselves. We have two products that
share a shared library. The shared library is a separate repo. We tried
to make it a module, that but that caused lots of issues, so we kept it
a separate repository (for now). We also keep our software documents
(design documents, compliancy, testing, etc.) in a repository, which is
convenient to have in the same project.

So, I have two projects that contain the main project repository for
that project, plus the shared library repo and the software docs repo in
both project.

André

Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

Thomas Singer
Administrator
In reply to this post by syntevo Support
Thanks for the existing feedback. What other people are using multiple
repositories inside projects? Why? What is inconvenient right now?
Thanks in advance.

--
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


On 21.11.2013 15:59, Thomas Singer (syntevo) wrote:

> Hi all,
>
> We think about reworking the sub-optimal repository/project management.
> One technical problem which makes this rework process harder is the
> current ability to group multiple repositories inside one project.
>
> Hence we want to learn *how* and *why* you use projects with multiple
> repositories, what operations you execute on the project root.
>
> Maybe this input helps us to find a better repository management without
> sacrificing your used work-flows. Thanks in advance for the input!
>
> --
> Best regards,
> Thomas Singer
> =============
> syntevo GmbH
> http://www.syntevo.com
> http://blog.syntevo.com
>
>
> ------------------------------------
>
> Yahoo Groups Links
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

syntevo Support
In reply to this post by syntevo Support
Do you like the current tree-structure with the ability to
a) create project groups and
b) store projects in an alphabetic list?

Would you prefer a plain list presentation (instead of a tree), maybe
with the ability to "go into" a group (similar to Norton Commander's
ability to go into/out of a directory)?

--
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


On 21.11.2013 15:59, Thomas Singer (syntevo) wrote:

> Hi all,
>
> We think about reworking the sub-optimal repository/project management.
> One technical problem which makes this rework process harder is the
> current ability to group multiple repositories inside one project.
>
> Hence we want to learn *how* and *why* you use projects with multiple
> repositories, what operations you execute on the project root.
>
> Maybe this input helps us to find a better repository management without
> sacrificing your used work-flows. Thanks in advance for the input!
>
> --
> Best regards,
> Thomas Singer
> =============
> syntevo GmbH
> http://www.syntevo.com
> http://blog.syntevo.com
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

syntevo Support
If you have multiple projects added to one project, would it be
sufficient to define the project as the common parent directory?

Would you need the ability to reorder the projects or would it be
sufficient to show projects sorted by their path?

--
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


On 25.11.2013 18:53, Thomas Singer wrote:

> Do you like the current tree-structure with the ability to
> a) create project groups and
> b) store projects in an alphabetic list?
>
> Would you prefer a plain list presentation (instead of a tree), maybe
> with the ability to "go into" a group (similar to Norton Commander's
> ability to go into/out of a directory)?
>
> --
> Best regards,
> Thomas Singer
> =============
> syntevo GmbH
> http://www.syntevo.com
> http://blog.syntevo.com
>
>
> On 21.11.2013 15:59, Thomas Singer (syntevo) wrote:
>> Hi all,
>>
>> We think about reworking the sub-optimal repository/project management.
>> One technical problem which makes this rework process harder is the
>> current ability to group multiple repositories inside one project.
>>
>> Hence we want to learn *how* and *why* you use projects with multiple
>> repositories, what operations you execute on the project root.
>>
>> Maybe this input helps us to find a better repository management without
>> sacrificing your used work-flows. Thanks in advance for the input!
>>
>> --
>> Best regards,
>> Thomas Singer
>> =============
>> syntevo GmbH
>> http://www.syntevo.com
>> http://blog.syntevo.com
>
Reply | Threaded
Open this post in threaded view
|

Re: Projects with multiple repositories

WORMSS
Thomas Singer-2 wrote
Do you like the current tree-structure with the ability to
a) create project groups and
b) store projects in an alphabetic list?

Would you prefer a plain list presentation (instead of a tree), maybe
with the ability to "go into" a group (similar to Norton Commander's
ability to go into/out of a directory)?
I personally like the tree structure for displaying all the different repos within a project.
I do not think I need the ability to display multiple projects within the same window. I am using 'the project' as a way to group the repos of similar type as it is.

Thomas Singer-2 wrote
If you have multiple projects added to one project, would it be
sufficient to define the project as the common parent directory?

Would you need the ability to reorder the projects or would it be
sufficient to show projects sorted by their path?
I do like the idea of having automatically added repos to a project if they are one level down from a 'root' folder. That is something I had not considered before. Is that possible to add that as a 'project type'? So a classic project (eg, you add each project manually) and a directory based project (add all repos within a folder). :D
Reply | Threaded
Open this post in threaded view
|

RE: Projects with multiple repositories

mlippert
I've been using multiple repositories in a project.

I do this because I have 5-6 repositories that are all related, so if I pull one I will need to pull the others or things may not work. So it it very handy to be able to do a pull on the project in the directory tree and have all of the repositories pulled.

Doing a pull like that is easier than individually pulling each repository AND WAY EASIER than having to navigate the project menu to open a project that only contained one repository and then pull it.

I don't really need to see all the various modified and untracked files for ALL of the repositories in the project, in fact that tends to be confusing.

I do really like the idea proposed above of an indication somehow that the remote repository being tracked by the current branch has new commits (even if they aren't on that branch itself) that can be pulled.

In summary, with the way that projects currently work (opening in their own window, and selecting the one to open from the listbox), it would be a real pain if I had to have 1 repository per project. (if that process were more streamlined then I'd probably be ok w/ it.) In addition it is useful to have specified groups of repositories that you can do a pull or fetch on, whether that be a project or some other way of specifying the group.

Thanks for listening,
Mike
Reply | Threaded
Open this post in threaded view
|

RE: Projects with multiple repositories

Steve deRosier
In response to Thomas's original post:

In my organization we use composite projects all the time.  And it's
about 25% using SmartGit and 75% using standard commandline tools.
Some of our projects don't have a great way of compositing the
sub-projects, they just have you clone everything.  The better groups
use one of two different mechanisms:

A. If on Linux, we tend to use Androd's Repo tool.  Even if used for
nothing more than cloning a huge composite project, just being able to
have a manifest file that defines what those are, and where in the
tree it goes is a huge benefit.  Additionally, since the manifest
files can specify actual revisions or branches and tags, it's a huge
help with managing releases.  Combined with the Jenkins CI tool,
tracking builds is even better: the standard manifest can specify the
master branch and when Jenkins builds it outputs a manifest file with
hard-coded sha1 hashes; keep that and you can always reproduce a given
build.

Repo has methods for branching the entire set of projects, iterating
over them, committing and such, but generally we only use the clone
(to create the tree) and sync (to update the entire tree at one-shot)
features.

The down side is Androd's Repo only works on Unix-type environments,
Linux or OSX basically.

B. If being more general (or on Windows) a project might use Git's own
submodule feature.  There's plenty of good reasons not to use this
feature and plenty to do so.  If you need, read the book for details:
http://git-scm.com/book/en/Git-Tools-Submodules

As I have to support a mixed tool environment (regular Git and
SmartGit), I'd be opposed to any changes that interfere with the
Git-ness of the use.  A good UI into seeing submodules and working
with them would be useful.  Random binary project files to be checked
into our Git trees would be bad.  We have enough problems with MS VS
project files!

On the other hand, having SmartGit recognize Repo manifest files and
helping us work with projects composited with Repo would be HUGE. I'd
finally be able to get our Windows teams able to do something other
than clone multiple repositories.  (They occasionally unintentionally
make submodules, not something you want done by accident).

I don't have a huge opinion on the UI at the moment for projects. And
being able to utilize the Repo functionality (without needing a native
repo program) would be amazing.  Just the following commands would be
enough:

  init         Initialize repo in the current directory
  list         List projects and their associated directories
  status       Show the working tree status
  sync         Update working tree to the latest revision
  info         Get info on the manifest branch, current branch or
unmerged branches
  manifest     Manifest inspection utility

You could implement the branching features (we don't bother using them):

  abandon      Permanently abandon a development branch
  branch       View current topic branches
  branches     View current topic branches
  checkout     Checkout a branch for development
  diff         Show changes between commit and working tree
  overview     Display overview of unmerged project branches
  prune        Prune (delete) already merged topics
  rebase       Rebase local branches on upstream branch
  stage        Stage file(s) for commit
  start        Start a new branch for development

As stated, we don't use any of the branching feature set.  After
getting the repositories (repo init; repo sync), we work with Git
natively inside them for the most part.  Also nice would be a way to
do a push for all sub-projects. Repo only "pushes" to a gerrit review
server, a feature we neither need nor want.  We push projects
individually as we need to.

Anyway, there's my use-case and my wish list: have SmartGit
understand/implement a subset of Android Repo's features.

- Steve
Reply | Threaded
Open this post in threaded view
|

RE: Projects with multiple repositories

syntevo Support
In reply to this post by mlippert
We plan following rework:

- there are no SmartGit projects any more
- SmartGit will remember all "added" repositories which can have a name
- the Directories view (most likely will be renamed to "Repositories") will display the directory structure of the opened repository/ies and all other repositories, sorted by name
- one can create named groups which can contain repositories

This should allow to switch projects easier than now. We also think about performing certain commands, e.g. pull, directly on closed repositories.

As an alternative to extending the Directories view by repositories, we also discussed a separate Repositories view (containing only repositories and repository groups, but not the directories structure) but judge the combined Directories/Repositories view as better solution.

--
Best regards,
Thomas Singer
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


12/28/2013 17:20 -  wrote:

> I've been using multiple repositories in a project.
>
> I do this because I have 5-6 repositories that are all related, so if I pull one I
> will need to pull the others or things may not work. So it it very handy to be
> able to do a pull on the project in the directory tree and have all of the
> repositories pulled.
>
> Doing a pull like that is easier than individually pulling each repository AND WAY
> EASIER than having to navigate the project menu to open a project that only
> contained one repository and then pull it.
>
> I don't really need to see all the various modified and untracked files for ALL of
> the repositories in the project, in fact that tends to be confusing.
>
> I do really like the idea proposed above of an indication somehow that the remote
> repository being tracked by the current branch has new commits (even if they
> aren't on that branch itself) that can be pulled.
>
> In summary, with the way that projects currently work (opening in their own
> window, and selecting the one to open from the listbox), it would be a real pain
> if I had to have 1 repository per project. (if that process were more streamlined
> then I'd probably be ok w/ it.) In addition it is useful to have specified groups
> of repositories that you can do a pull or fetch on, whether that be a project or
> some other way of specifying the group.
>
> Thanks for listening,
> Mike
>
Reply | Threaded
Open this post in threaded view
|

RE: Projects with multiple repositories

WORMSS
There going to be a way to keep the current structure?
Reply | Threaded
Open this post in threaded view
|

RE: Projects with multiple repositories

Diederick C. Niehorster
In reply to this post by syntevo Support
Hi Thomas,

Could you share a mockup of the UI for that with the list? That might help
discussion.

Best,
Dee


On Sun, Dec 29, 2013 at 2:38 AM, syntevo Support <[hidden email]>wrote:

>
>
> We plan following rework:
>
> - there are no SmartGit projects any more
> - SmartGit will remember all "added" repositories which can have a name
> - the Directories view (most likely will be renamed to "Repositories")
> will display the directory structure of the opened repository/ies and all
> other repositories, sorted by name
> - one can create named groups which can contain repositories
>
> This should allow to switch projects easier than now. We also think about
> performing certain commands, e.g. pull, directly on closed repositories.
>
> As an alternative to extending the Directories view by repositories, we
> also discussed a separate Repositories view (containing only repositories
> and repository groups, but not the directories structure) but judge the
> combined Directories/Repositories view as better solution.
>
>
> --
> Best regards,
> Thomas Singer
> syntevo GmbH
> http://www.syntevo.com
> http://blog.syntevo.com
>
> 12/28/2013 17:20 - wrote:
>
> > I've been using multiple repositories in a project.
> >
> > I do this because I have 5-6 repositories that are all related, so if I
> pull one I
> > will need to pull the others or things may not work. So it it very handy
> to be
> > able to do a pull on the project in the directory tree and have all of
> the
> > repositories pulled.
> >
> > Doing a pull like that is easier than individually pulling each
> repository AND WAY
> > EASIER than having to navigate the project menu to open a project that
> only
> > contained one repository and then pull it.
> >
> > I don't really need to see all the various modified and untracked files
> for ALL of
> > the repositories in the project, in fact that tends to be confusing.
> >
> > I do really like the idea proposed above of an indication somehow that
> the remote
> > repository being tracked by the current branch has new commits (even if
> they
> > aren't on that branch itself) that can be pulled.
> >
> > In summary, with the way that projects currently work (opening in their
> own
> > window, and selecting the one to open from the listbox), it would be a
> real pain
> > if I had to have 1 repository per project. (if that process were more
> streamlined
> > then I'd probably be ok w/ it.) In addition it is useful to have
> specified groups
> > of repositories that you can do a pull or fetch on, whether that be a
> project or
> > some other way of specifying the group.
> >
> > Thanks for listening,
> > Mike
> >
>
>  
>
Reply | Threaded
Open this post in threaded view
|

RE: Projects with multiple repositories

syntevo Support
In reply to this post by WORMSS
It will not be possible any more to have groups inside groups or multi-repository projects inside groups.

--
Best regards,
Thomas Singer
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


12/28/2013 22:40 - WORMSS wrote:

> There going to be a way to keep the current structure?
>
>
>
> --
> View this message in context:
> http://smartgit.3668570.n2.nabble.com/Projects-with-multiple-repositories-tp7574453p7574569.html
> Sent from the SmartGit mailing list archive at Nabble.com.
>