info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How is a patch applied to CVS?


From: Matthew Herrmann
Subject: Re: How is a patch applied to CVS?
Date: Thu, 9 Jan 2003 11:14:59 +1100

Hi,

But can patch be run in such a way that it generates conflict markers
instead of .rej files? This would be very useful at times. Or is diff3 the
go here instead?

cheers,
matt

-----Original Message-----
Date: Tue, 7 Jan 2003 17:03:15 -0500
From: Eric Siegerman <address@hidden>
To: "'address@hidden'" <address@hidden>
Subject: Re: How is a patch applied to CVS?
Message-ID: <address@hidden>
In-Reply-To:
        <address@hidden>;
        from    address@hidden on Mon, Jan 06, 2003 at 08:23:52PM -0500
References:
<address@hidden>
Content-Type: text/plain; charset=us-ascii
MIME-Version: 1.0
Precedence: list
Message: 9

On Mon, Jan 06, 2003 at 08:23:52PM -0500, Mazza, Glen R., ,CPMS wrote:
> How is a patch file committed into CVS to update
> the most recent version?

In several steps:
  - Apply the patch to a checked-out working directory
  - Resolve any conflicts (i.e. .rej files)
  - Compile and test
  - "cvs commit"

CVS itself can't digest arbitrary patch files.

--

|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
Just Say No to the "faceless cannonfodder" stereotype.
        - http://www.ainurin.net/ (an Orc site)


-----Original Message-----
From: address@hidden
[mailto:address@hidden Behalf Of
address@hidden
Sent: Wednesday, 8 January 2003 14:44
To: address@hidden
Subject: Info-cvs Digest, Vol 2, Issue 11


Send Info-cvs mailing list submissions to
        address@hidden

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.gnu.org/mailman/listinfo/info-cvs
or, via email, send a message with subject or body 'help' to
        address@hidden

You can reach the person managing the list at
        address@hidden

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Info-cvs digest..."


Today's Topics:

   1. RE: cvs hangs while reporting 'version' (SOLVED) (Harig, Mark A.)
   2. Docs for cvs 1.11.4 (Douglas Finkle)
   3. Re: How is a patch applied to CVS? (Kaz Kylheku)
   4. FW: CVS Multiple checkouts prevent.. (Mariappan Muthiah)
   5. Re: How is a patch applied to CVS? (Riechers, Matthew W)
   6. Re: CVS and multiple platforms - version conflicts,
      featuresavailable
        etc.
   7. Re: CVS and multiple platforms - version conflicts, features
        available (Larry Jones)
   8. Re: CVS and multiple platforms - version conflicts, features
       available etc. (ADFH)
   9. Re: How is a patch applied to CVS? (Eric Siegerman)


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

Date: Tue, 7 Jan 2003 14:11:01 -0500
From: "Harig, Mark A." <address@hidden>
To: <address@hidden>
Subject: RE: cvs hangs while reporting 'version' (SOLVED)
Message-ID: <address@hidden>
Content-Type: text/plain;
        charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Precedence: list
Message: 1

> -----Original Message-----
> From: Larry Jones [mailto:address@hidden
> Sent: Saturday, January 04, 2003 5:27 PM
> To: Harig, Mark A.
> Cc: address@hidden
> Subject: Re: cvs hangs while reporting 'version'
>=20
>=20
> Harig, Mark A. writes:
> >=20
> > The above is NOT a typo.  After 'read(5,', the output hangs with the
> > cursor
> > following the '5,'.  I have left this run for nearly thirty=20
> minutes to
> > see
> > if there was a timeout condition, before using 'Ctrl-C' to halt the
> > command.
>=20
> Try upgrading to the recently-released CVS 1.11.4.
>=20
> -Larry Jones
>=20

Thanks for the suggestion.  I upgraded my CVS client to 1.11.4.  cvs
still
hangs, but at a different place -- during a call to wait():

$ export CVS_RSH=3D/usr/bin/ssh
$ strace cvs -t -f -d<IP addr>:/path/to/cvs/repos version

(much text omitted)

write(4, "UseUnchanged\n", 13)          =3D 13
write(4, "Global_option -t\nversion\n", 25) =3D 25
read(5, "M ", 4096)                     =3D 2
read(5, "Concurrent Versions System (CVS)"..., 4096) =3D 58
write(1, "Server: Concurrent Versions Syst"..., 66Server: Concurrent
Versions System (CVS) 1.11.1p1 (client/server)
) =3D 66
read(5, "ok\n", 4096)                   =3D 3
fstat64(4, {st_mode=3DS_IFIFO|0600, st_size=3D0, ...}) =3D 0
close(4)                                =3D 0
munmap(0x40018000, 4096)                =3D 0
fstat64(5, {st_mode=3DS_IFIFO|0600, st_size=3D0, ...}) =3D 0
close(5)                                =3D 0
munmap(0x40019000, 4096)                =3D 0
wait4(7090,=20

Because my ssh connection has been working seemlessly between
the client and server machines, I did not suspect that it
could be the cause of the problem.  Nevertheless, I checked
the versions of openssh that I was running on the client
and the server.  Because they were different, I upgraded
the version I am running on the client machine to match
the version that I am running on the server machine.

This solved the problem.  cvs now works regardless of
whether I use cvs 1.11.4 or cvs 1.11.1p1 as the client.

For future reference to anyone else who might have this
problem, I was running openssh 2.9p2 on my client machine,
while running openssh 3.1p1 on my server machine.  The
"cvs problem" disappeared when I upgraded openssh on my
client machine to 3.1p1.

---


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

Date: Tue, 7 Jan 2003 16:37:36 -0500
From: Douglas Finkle <address@hidden>
To: "'address@hidden'" <address@hidden>
Subject: Docs for cvs 1.11.4
Message-ID: <address@hidden>
Content-Type: text/plain;
        charset="iso-8859-1"
MIME-Version: 1.0
Precedence: list
Message: 2

Is there a new set of [html] docs for the latest cvs release? The latest I
can find are vintage 1.11.3.  Thanks.


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

Date: Tue, 7 Jan 2003 13:58:01 -0800 (PST)
From: Kaz Kylheku <address@hidden>
To: "Mazza, Glen R., ,CPMS" <address@hidden>
Cc: "'address@hidden'" <address@hidden>
Subject: Re: How is a patch applied to CVS?
Message-ID: <address@hidden>
In-Reply-To:
<address@hidden>
Content-Type: TEXT/PLAIN; charset=US-ASCII
MIME-Version: 1.0
Precedence: list
Message: 3

On Mon, 6 Jan 2003, Mazza, Glen R., ,CPMS wrote:

> Simple question (I've checked the Cedarqvist manual, it's probably there
but
> can't seem to find it!):  How is a patch file committed into CVS to update
> the most recent version?

There is no support built into CVS for doing this. You check out a
working copy, use the patch tool to turn the patch into local
modifications, and then verify and commit the changes.

It probably will behoove you to keep track of the patch levels in a
branch. That way the patch will always be applied against an exact copy
of the baseline from which it was made by the third party developers.

To integrate it into your locally modified verison of the software, you
merge from that branch.

The moral is that it's better to let CVS do the merging, than the patch
tool. It's better at it, having more information. Patch can only do a
two-way merge, having no access to the ancestral version. It bails on
anything difficult, throwing hunks into .rej files.



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

Date: Tue, 7 Jan 2003 18:35:57 -0500
From: "Mariappan Muthiah" <address@hidden>
To: <address@hidden>
Subject: FW: CVS Multiple checkouts prevent..
Message-ID: <address@hidden>
Content-Type: text/plain;
        charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Precedence: list
Message: 4

> Hi=20
> I'm very new to   CVS . Can anyone guide me how to prevent multiple =
checkouts in cvs. I'm having Linux cvs running on redhat Linux 7.3 and=20
> clients from wincvs.  Basically what i want is, to prevent a user not =
even to do a checkout , if the file is already checked out by another =
user. (locking file/reserve checkout). Any one have patches or scripts =
to do this?
>=20
> Thanks
> Mari
>=20


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

Date: Tue, 07 Jan 2003 15:59:56 -0500
From: "Riechers, Matthew W" <address@hidden>
To: "Mazza, Glen R., ,CPMS" <address@hidden>
Cc: "'address@hidden'" <address@hidden>
Subject: Re: How is a patch applied to CVS?
Message-ID: <address@hidden>
References:
<address@hidden>
Content-Type: text/plain; charset=us-ascii
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Precedence: list
Message: 5

"Mazza, Glen R., ,CPMS" wrote:
>
> Hello,
>
> Simple question (I've checked the Cedarqvist manual, it's probably there
but
> can't seem to find it!):  How is a patch file committed into CVS to update
> the most recent version?

Use patch(1) or some other tool to merge the patchfile with the local
sandbox, then 'cvs commit' the result.

-Matt


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

Date: Tue, 7 Jan 2003 17:02:26 -0600 (CST)
From: address@hidden
To: ADFH <address@hidden>
Cc: address@hidden
Subject: Re: CVS and multiple platforms - version conflicts,
featuresavailable
        etc.
Message-ID: <address@hidden>
In-Reply-To: <address@hidden> from ADFH at
        "Jan 7, 2003 05:30:06 pm"
Content-Type: text/plain; charset=US-ASCII
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Precedence: list
Message: 6

> I've been placed in charge of getting version control/management going
> at an organisation where I work.
>
> Right now, an almost anarchic situation exists where there is no real
> version control, several different versions of the same code are
> mishmashed across several machines, and there's no one true version of
> the stuff being developed.
>
Look on the bright side.  There are very few bad choices here.

> JSP, Java and HTML files are being generated/edited/developed under
> multiple IDEs & site management tools (DreamWeaver's in the mix too -
> which introduces some template editing issues) across multiple platforms
> (MacOS 9 and Win2K primarily).
>
CVS does nicely with JSP, Java, and HTML files.  The one thing
you might want to watch out for is that, if you like messing with
the package names, you'll also mess with the directory structure,
and CVS doesn't track that at all well.  If you have a stable
directory structure, that's no problem at all.

> A system where file versions can be tracked and people can be notified
> when other people are editing files etc. needs to be introduced for
> security, accountability, stability and backup purposes.
>
I don't see the exact security issue here.  CVS can be part of a
secure solution, but it isn't security-oriented by itself.
Similarly, there are more and less accountable ways to use CVS.
CVS will do well for stability and backup purposes.

> I understand that CVS can kinda do exclusive checkouts through what
> appears to be an RCS kludge, but that a slightly less enforced,
> user-cooperative method is available through watch, unwatch, edit and
> unedit.
>
In my experience, the cooperative model works just as well as strict
locking.  Cooperative developers will work just fine with the edit
facility, and uncooperative developers will subvert strict locking.
For much of what you are working on, you may find that even the
edit facility is overkill.  I've worked happily in a shop with a
few dozen developers without using any such feature.  It usually
worked well, and in the cases where it didn't I didn't see that
any sort of locking would have helped much.  The problems were
simply that the situation, and hence the solution, was messy.

> What versions of CVS include this watch/unwatch/edit/unedit
> functionality?
>
As far as I know, all of them that you'd remotely want to use
(IIRC, 1.10.6 was the first Y2K-compliant one, and earlier
versions will have problems when handling dates).  I haven't
seen any problems with the edit facility on them.

> Right now the server that's going to be running as the version
> management system has:
> -Debian 'stable' Linux
> -Kernel 2.4.18 w/XFS Rel 1.1
> -cvs 1.11.1p1 w/pserver (yes, it's firewalled)
>
> I'm working with several MacOS 9 and Win2K clients as well as a Debian
> 'unstable' Linux system (my workstation) which has cvs 1.11.2-debian on
> it.
>
All of which have several clients.  I am most familiar with the
WinCVS/MacCVS/gCVS clients, which as a group will run on all the
systems you've got.  This has the advantage of providing a mostly
common front end for your shop.

> Do people have some alternate suggestions for version control that
> should realistically be explored (I do realise this is kind of like
> going to a GM motor club and asking about Fords :))?
>
To me, it sounds like a situation where CVS would work very well.
Obviously, other solutions might be better suited, but I haven't
read a thing to discourage me on CVS.

> I've heard a lot of noise about subversion and bitkeeper and other bits
> and pieces both GPL and closed source $$$ etc.
>
Subversion looks like it's going to be great when it's done, but
last I looked it wasn't ready for prime time.  Since you need a
solution now (or, preferably, sooner), don't wait for it.  The
authors are planning to have an update path from CVS, so you
could consider a changeover later.

> I'm not against sticking with CVS if it'll do the job, but with the
> thought in mind that eventually business critical tasks will be
> performed, I need the right tool for the job that both programmer and
> graphic designer "end-users" can use.
>
CVS works pretty well for that.  It is certainly reliable enough
for business-critical tasks (provided you stick to client-server
access, and it sounds like that is indeed the plan).

> In addition, if anyone has any stories/suggestions/tips on preferred Mac
> and Windows clients, I'm open to those.
>
As I said, WinCVS and MacCVS work well and share a common code base,
although the Windows port has moved ahead of the Mac port.  If you
have users who move between Mac and Windows, this is a definite
advantage.  Even if you don't, it still reduces the support burden
a bit.  There are plenty of other Windows clients, but few other
Mac clients.

You might also want to look at Java clients.  Since MacOS 9 is
behind most other platforms in Java support, and is going to stay
that way, make sure to test the Java clients on your Mac.

My list of CVS clients is at:
http://www.thornleyware.com/scm/clients/index.html
It isn't necessarily complete, but it hits most of them.

--
Now building a CVS reference site at http://www.thornleyware.com
address@hidden



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

Date: Tue, 7 Jan 2003 15:45:50 -0500 (EST)
From: address@hidden (Larry Jones)
To: address@hidden (ADFH)
Cc: address@hidden
Subject: Re: CVS and multiple platforms - version conflicts, features
        available
Message-ID: <address@hidden>
In-Reply-To: <address@hidden> from "ADFH" at
        Jan 7, 3 05:30:06 pm
Content-Type: text/plain; charset=US-ASCII
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Precedence: list
Message: 7

ADFH writes:
>
> The "server box" with 1.11.1p1 on it doesn't seem to recognise
> "watch_add" etc. command sent to it through the various Windows and
> Macintosh clients I'm trying. Same goes for the 1.11.2-debian version.

I believe those commands were accidentally broken in 1.11.1 but it
wasn't noticed until after 1.11.2 was released.  They're fixed in the
just-released 1.11.4, which I suggest you update to (www.cvshome.org).

-Larry Jones

Pitiful.  Just pitiful. -- Calvin


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

Date: Wed, 8 Jan 2003 11:16:50 +1100
From: ADFH <address@hidden>
To: address@hidden
Cc: address@hidden
Subject: Re: CVS and multiple platforms - version conflicts, features
 available etc.
Message-ID: <address@hidden>
In-Reply-To: <address@hidden>
References: <address@hidden>
        <address@hidden>
Content-Type: text/plain; charset=US-ASCII
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Precedence: list
Message: 8

> > Right now, an almost anarchic situation exists where there is no
> Look on the bright side.  There are very few bad choices here.

Hehehe - true :)

> and CVS doesn't track that at all well.  If you have a stable
> directory structure, that's no problem at all.

This I think I'll have to work through with the graphic designers.

> edit facility is overkill.  I've worked happily in a shop with a
> few dozen developers without using any such feature.  It usually
> worked well, and in the cases where it didn't I didn't see that
> any sort of locking would have helped much.  The problems were
> simply that the situation, and hence the solution, was messy.

Basically in this situation there are management, programmers and
graphic designers. In specific project at present, programmers using JSP
and Java and tweaking some of the HTML. The graphic designers use
DreamWeaver.. Problems arise on occasion when programmers edit inside
templated areas of HTML files and then graphic designers push out a
change to templates.

Whilst programmers shouldn't be editing templated sections without
editing template (or getting designers to do it) it would be nice to be
able to say "ok - the template change borked it, but if we go back to a
prior file version, we can rescue the code and then work it into a
template-safe version". Hence need for some CVS stuff - also, if people
could be kind of reminded by using edit etc. (by having files read-only
by default) it would assist in the behaviour modification :)

What did confuse me, though, is that the current CVS server doesn't seem
to recognise the watch/unwatch/edit etc. commands. Is there some special
configuration I need to do to get these to work in a repository?

> All of which have several clients.  I am most familiar with the
> WinCVS/MacCVS/gCVS clients, which as a group will run on all the
> systems you've got.  This has the advantage of providing a mostly
> common front end for your shop.

Consistency definitely a good thing in this environment. I only work two
days a week for them, and if hell breaks loose on a day I'm not in the
office, being able to have a consistent environment would be good :)

Might look into running TightVNC over SSH.

> solution now (or, preferably, sooner), don't wait for it.  The
> authors are planning to have an update path from CVS, so you
> could consider a changeover later.

Cool :)

> CVS works pretty well for that.  It is certainly reliable enough
> for business-critical tasks (provided you stick to client-server
> access, and it sounds like that is indeed the plan).

Oh yeah - most of the people don't have a clue how to use *nix - the
more the repository is viewed as something that exists through the CVS
client and not through direct filesystem access, the better :)

The actual server sits in the corner of the office with no screen and no
keyboard - I administer it remotely over SSH. Better it's seen as a
black box. I plan on cron'ing a bz2/gzip tar file transfer of repository
to 2K backup server when implementation is complete.

Again, a single file which doesn't offer easy fiddling to the
uninitiated - and protects file perms etc. :)

> As I said, WinCVS and MacCVS work well and share a common code base,
> although the Windows port has moved ahead of the Mac port.  If you
> have users who move between Mac and Windows, this is a definite
> advantage.  Even if you don't, it still reduces the support burden
> a bit.  There are plenty of other Windows clients, but few other
> Mac clients.

Well - three designers use Macs, boss uses Mac, one designer uses PC,
three programmers using PCs.

> You might also want to look at Java clients.  Since MacOS 9 is
> behind most other platforms in Java support, and is going to stay
> that way, make sure to test the Java clients on your Mac.

Yeah - I tried to run Mindterm on one of the MacOS 9 (Mrrmm.. OS9 - reminds
me of my TRS-80) clients.

> My list of CVS clients is at:
> http://www.thornleyware.com/scm/clients/index.html
> It isn't necessarily complete, but it hits most of them.

Thanks!


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

Date: Tue, 7 Jan 2003 17:03:15 -0500
From: Eric Siegerman <address@hidden>
To: "'address@hidden'" <address@hidden>
Subject: Re: How is a patch applied to CVS?
Message-ID: <address@hidden>
In-Reply-To:
        <address@hidden>;
        from    address@hidden on Mon, Jan 06, 2003 at 08:23:52PM -0500
References:
<address@hidden>
Content-Type: text/plain; charset=us-ascii
MIME-Version: 1.0
Precedence: list
Message: 9

On Mon, Jan 06, 2003 at 08:23:52PM -0500, Mazza, Glen R., ,CPMS wrote:
> How is a patch file committed into CVS to update
> the most recent version?

In several steps:
  - Apply the patch to a checked-out working directory
  - Resolve any conflicts (i.e. .rej files)
  - Compile and test
  - "cvs commit"

CVS itself can't digest arbitrary patch files.

--

|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
Just Say No to the "faceless cannonfodder" stereotype.
        - http://www.ainurin.net/ (an Orc site)


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

_______________________________________________
Info-cvs mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/info-cvs


End of Info-cvs Digest, Vol 2, Issue 11
***************************************





reply via email to

[Prev in Thread] Current Thread [Next in Thread]