Failure to set up tracking branch; Commit/push weirdness; Merging issues

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

Failure to set up tracking branch; Commit/push weirdness; Merging issues

waltw87
Hi,

Huge fan of SmartSVN, and I've been looking at Git a lot, so I was exceedingly thrilled when I learned Syntevo was making a SmartGit.  The Early Release edition so far is pretty nice, but the following situations made me a little frustrated and so I thought I'd mention them.  This seems like a common scenario.

Thanks for your time / responses!

Following is a set of instructions to follow, and the issues I see along the way.

Preconditions: Assume . is a common directory.  All instructions were exectued through SmartGit.

1. Create repo ./temp-repo (Project temp-repo)

2. Clone ./temp-repo (Use Local repository option) to ./repo1 (Project repo1)

3. Clone ./temp-repo (Use Local again) to ./repo2 (Project repo2)

4. Create ./repo1/test.txt, enter "Hello world"

5. Create ./repo2/test.txt, enter "Hello there"

6. In Repo1, commit Test.txt and push changes (default options).

        6.a. ISSUE 1: The branch does not default to tracking where it was cloned from?
       
7. Push again, this time manually selecting "Push selected branches" and the "master" branch.

8. Press Configure; SmartGit seems to know where it came from, it just didn't want to attach it apparently.

9. In Repo2, try Push.  

        9.a. ISSUE 2: Everything up-to-date?  No warning even about no branches being pushed?
       
10. Now commit Test.txt in Repo2

11. Push Repo2, selecting the master branch manually.  The push should fail, which is expected, as it is a conflict.

12. Now try Fetching Repo2.

13. Resolve the conflict and commit again.

14. Push Repo2 again.

15. Edit Repo1/Test.txt to say "Yo G"

16. Commit and push Repo1.

17. Edit Repo2/Test.txt to say "Blech"

18. Try Fetch on Repo2

        18.a. ISSUE 3: Personally, I find this confusing.  It might be a git issue and not a SmartGit issue, but why can't I try to merge in other changes prior to committing my own?
       
19. Commit Test.txt in Repo2

20. Fetch in Repo2

        20.a. ISSUE 4: Index state - Conflicted, but Working state is Reverted?  Why doesn't it show the conflicts?  Why does it show my version of the file?
       
Personally, I don't like this last thing, because it's hard to figure out how to merge the origin/master branch with my master branch.  I suppose I can use Cherry Pick, but that's not very nice and in my opinion serves a different purpose than a standard merge.

Reply | Threaded
Open this post in threaded view
|

Re: Failure to set up tracking branch; Commit/push weirdness; Merging issues

syntevo Support
> The Early Release edition so far is pretty nice, but the following
> situations made me a little frustrated and so I thought I'd mention them.
> This seems like a common scenario.

Thanks for this feedback, it took a while to process all of the resulting
issues :)

> 6.a. ISSUE 1: The branch does not default to tracking where it was cloned
> from?

This is a core git issue, but added as improvement for SmartGit.

> 9.a. ISSUE 2: Everything up-to-date?  No warning even about no branches
> being pushed?

This is a core git issue, but added as improvement for SmartGit.

> 18.a. ISSUE 3: Personally, I find this confusing.  It might be a git issue
> and not a SmartGit issue, but why can't I try to merge in other changes
> prior to committing my own?

The requirement of a clean working copy also comes from git. On the other hand
it's a good idea to record merges as clean commits and separate from your
local changes. If you are not yet ready to commit your local changes, you may
"stash" them away, do the merge and reapply the stash.

> 20.a. ISSUE 4: Index state - Conflicted, but Working state is Reverted?
> Why doesn't it show the conflicts?  Why does it show my version of the
> file?

We could reproduce this problem, however reverting the merge (pull) and
redoing it gives correct merge behavior. This seems to be a core Git problem.

--
Best regards,
Marc Strapetz
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com



"waltw87" <[hidden email]> wrote:

> Hi,
>
> Huge fan of SmartSVN, and I've been looking at Git a lot, so I was exceedingly
> thrilled when I learned Syntevo was making a SmartGit.  The Early Release
> edition so far is pretty nice, but the following situations made me a little
> frustrated and so I thought I'd mention them.  This seems like a common
> scenario.
>
> Thanks for your time / responses!
>
> Following is a set of instructions to follow, and the issues I see along the
> way.
>
> Preconditions: Assume . is a common directory.  All instructions were exectued
> through SmartGit.
>
> 1. Create repo ./temp-repo (Project temp-repo)
>
> 2. Clone ./temp-repo (Use Local repository option) to ./repo1 (Project repo1)
>
> 3. Clone ./temp-repo (Use Local again) to ./repo2 (Project repo2)
>
> 4. Create ./repo1/test.txt, enter "Hello world"
>
> 5. Create ./repo2/test.txt, enter "Hello there"
>
> 6. In Repo1, commit Test.txt and push changes (default options).
>
>  6.a. ISSUE 1: The branch does not default to tracking where it was cloned
> from?
>  
> 7. Push again, this time manually selecting "Push selected branches" and the
> "master" branch.
>
> 8. Press Configure; SmartGit seems to know where it came from, it just didn't
> want to attach it apparently.
>
> 9. In Repo2, try Push.  
>
>  9.a. ISSUE 2: Everything up-to-date?  No warning even about no branches being
> pushed?
>  
> 10. Now commit Test.txt in Repo2
>
> 11. Push Repo2, selecting the master branch manually.  The push should fail,
> which is expected, as it is a conflict.
>
> 12. Now try Fetching Repo2.
>
> 13. Resolve the conflict and commit again.
>
> 14. Push Repo2 again.
>
> 15. Edit Repo1/Test.txt to say "Yo G"
>
> 16. Commit and push Repo1.
>
> 17. Edit Repo2/Test.txt to say "Blech"
>
> 18. Try Fetch on Repo2
>
>  18.a. ISSUE 3: Personally, I find this confusing.  It might be a git issue
> and not a SmartGit issue, but why can't I try to merge in other changes prior
> to committing my own?
>  
> 19. Commit Test.txt in Repo2
>
> 20. Fetch in Repo2
>
>  20.a. ISSUE 4: Index state - Conflicted, but Working state is Reverted?  Why
> doesn't it show the conflicts?  Why does it show my version of the file?
>  
> Personally, I don't like this last thing, because it's hard to figure out how
> to merge the origin/master branch with my master branch.  I suppose I can use
> Cherry Pick, but that's not very nice and in my opinion serves a different
> purpose than a standard merge.
>
>