Re: Versioning control



On Wed, 15 Apr 2009 10:22:00 +0200
Adrian Chapela <achapela.rexistros@xxxxxxxxx> wrote:

Hello,

I am preparing a versioning control. In my environment some of the
clients are Windows PC. I have implemented the next Subversion +
TortoiseSVN (for windows clients) + Eventum (for bug control, etc.). All
work very well but I have a problem that I think it won't be resolved
with any Versioning control.

The problem is the next.

User1 modifies file1 and file2.
User2 modifies file3 and file4.
file1, file2, file3 and file4 belong to the same repo.

User2 has removed a function from file3 which is used by file1.
User2 has tested all of his changes and all of them work well.
User1 has tested all of his changes and all of them work well.
User1 commits all of changes.
User2 commits all of changes.

Now the copy on the repo is bad, because the User1 is using a function
which isn't on the file3 commited by the User2. Is there any way to
advice User1 that some other files are changed by another user ? I know
that the User1 should update his working copy before commit their
changes but theres is another situation which end in a problem.

After changes:
User1 updates his working copy.
User1 tests his changes. All work OK.
User2 updates his working copy.
User2 tests his changes. All work OK.
Then User2 commits his changes at the same time that User1.
Subversion will accept the changes because all of them are of different
files. Then the commited code are wrong because the file1 is using a
function which isn't in file3 now.

Do you have any idea to solve this ?


Use a policy that you have to pull changes before commit and thus each user can
commit only after the last pull checked out ok and the pull after that pulls
nothing (no changes since the last change). Other than that you should possibly
setup work queues and assign tasks that don't everlap and also allow users to
know what others are doing.

Another option is not the remove functions immediatly (esspecially external
interfaces) but deprecate them first which would throw a warning that
interfaces are going to change.

Regards.




--
To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx
with a subject of "unsubscribe". Trouble? Contact listmaster@xxxxxxxxxxxxxxxx



Relevant Pages

  • Re: Versioning control
    ... User2 has removed a function from file3 which is used by file1. ... User1 has tested all of his changes and all of them work well. ... User1 commits all of changes. ... "1.2 What is CVS not? ...
    (Debian-User)
  • Re: Versioning control
    ... User1 modifies file1 and file2. ... User2 has removed a function from file3 which is used by file1. ... after User2 commits I'd expect your CI tests to collapse. ...
    (Debian-User)
  • Versioning control
    ... User2 has removed a function from file3 which is used by file1. ... User1 has tested all of his changes and all of them work well. ... User1 commits all of changes. ...
    (Debian-User)
  • RE: dirty reada to committed read
    ... page then user1 is locking the whole page therefore user2 get a lock error ... I have tried setting Isolation Level to Dirty Read, ... The only isolation level that has an impact on updates and deletes is ...
    (comp.databases.informix)
  • Re: grant on a specified table to a user
    ... There is user1 with tablespace user1_tablespace and there is also ... So, I create user2 and let him use the same tablespace as user1, ie. ... GRANT CREATE SESSION,CREATE TABLE TO USER1; ...
    (comp.databases.oracle.server)