Link to home
Start Free TrialLog in
Avatar of naseeam
naseeamFlag for United States of America

asked on

How to commit changes after checking out working copy from tags ?

I created an initial /trunk  /tags  /branches directories in new remote svn repository.  svn revision is 1.
I imported professional medium size c/c++ project into the /trunk folder.  Now, svn revision is 2.
I tagged the imported project.

Now, I need to fix a bug.  My plan is to checkout from tags.  Fix the bug.   Then, how will I commit?  Commits aren't allowed on tags.
ASKER CERTIFIED SOLUTION
Avatar of evilrix
evilrix
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of naseeam

ASKER

I'll suggest Git but company won't be changing their version control in near future.

Currently, I'm the only developer on this project.  My plan is to develop on the trunk.  I don't plan to use branch.

Whether I checkout from trunk latest or tag, I'll get same code but what is my checkout, modify, commit workflow if I checkout
from tags?
Working directly in trunk is an incredibly bad idea. You are effectively pushing untested code into the main release branch (at least, that's what truck is supposed to be). I strongly recommend you don't do this. At least, not checking with your companies work-flow policies first.

If your company won't use Git, you can still use it locally. Git allows you to work using a local Git repo and still push to an SVN central source code repository.

https://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion
https://git-scm.com/docs/git-svn
Avatar of phoffric
phoffric

>> you can still use Git locally.
Agree. I did that once while we were using SVN. I sometimes committed twice a day, and when I had a problem, I stepped through a Git GUI and could see the diffs I made on each file, and easily roll back to a working version. Helped a lot when I occasionally needed it. It was also useful in my SVN commit, because I now had a nice listing of the messages I provided during the local Git commits.
Avatar of naseeam

ASKER

>> You are effectively pushing untested code into the main release branch
I'll test my working copy then  commit to trunk

Using Git locally sound great information.  But first I need to finish development tasks.  I need some ideas of workflows with one developer, svn remote repository, SVN Tortoise Client, development on trunk.  Each release will be tagged.  Where should I checkout from, tags or trunk ?
So, you don't have a QA process?

I can't really tell you where to checkout from as it all depends on what revision you plan to base your work on. I will say that working directly in trunk is a terrible idea. Surely your company has QA process that forbid this? Normally, you code in a branch. That code gets reviewed and QA tested. Only once it's passed all QA steps would you merge those changes into trunk from your work branch.

At this point I'm not really sure what you're asking me. You say you plan to work in trunk. If that's the case you need to pull the branch tip. You can't work on a tag without branching from that tag. Tags are supposed to be immutable references to a revision. You can't push code against a tag, only a branch tip.
Avatar of naseeam

ASKER

Thank you!
You're welcome. I hope what I explained makes sense. Give git-svn a chance as I'm sure you'll find working with SVN far less painful that way. Good luck.