Lecture4 - Change Management Week 4 Backporting a change...

Info iconThis preview shows pages 1–14. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Change Management Week 4 Backporting a change What We’ll Be Doing • You maintain a large site that support GNU/Linux users • You get annoyed by people always asking you how to remove files that start with a dash – E.g., rm -foo results in an error • So you find a patch that was applied to a later version of coreutils but you want to keep running version 8.0 • Patch coreutils 8.0 with the posted patch Getting Started • Download coreutils 8.0 – wget ftp://alpha.gnu.org/gnu/coreutils/coreutils-8.0.tar.gz – Gunzip and untar it • tar –xvf coreutils-8.0.tar.gz – You should have a directory called coreutils-8.0 somewhere now • Copy and paste the patch from the web and put in a file called backportPatch – $ cd ~/coreutils-8.0 – $ nano backportPatch – Copy and paste the patch from the webpage. – Ctrl+o: WriteOut – Enter: Confirm the filename – Ctrl+x: Exit Patching • Read man patch – $ cd coreutils-8.0 – $ patch –p NUM –b < backportPatch –-p strips the smallest prefixing containing NUM leading slashes from each file name found in the patch file. In this case, you can use 3. • Ex) /fetish/cu/src/rm.c •-p1: fetish/cu/src/rm.c •-p2: cu/src/rm.c •-p3: src/rm.c –-b tells patch to make a backup of the original file – $ patch –p –b < backportPatch • It will prompt you which files to patch • And it will tell which files failed to patch. • Use your favorite editor to make the fixes Reversing the patch • $ man patch • You will find an option that backs out the patch • $ patch –pNUM –b –option < backportPatch Test the Patch • Configure your makefiles, make, and make install • Test it – mkdir test – cd test – touch ./-ooops a b c – rm * Generate a tentative version of your patch • diff –u rm.c rm.c.orig • rm.c.orig is your backup file for rm.c SVN and Git Install SVN and Git on Ubuntu/SEAS • Ubuntu – $ sudo apt-get install git – $ sudo apt-get install subversion • SEAS – SVN is already in the path. – Use /usr/local/cs/bin/git for Git. What is version control? • Version management allows you to control and monitor changes to files – What changes were made? – Revert to pervious versions – When were changes made – What code was present in release 2.7? • Earliest tools were around 1972 (SCCS) • Older tools – RCS, CVS, Microsoft Source Safe, PVCS Version Manager, etc… • Current tools – Subversion, Mercurial, Git, Bazaar We will use subversion(svn) or Git • Why? – Because it’s popular – It’s well supported • IDEs - Netbeans, Eclipse • Numerous GUI tools • Command line Subversion Architecture • Two locations of SVN repositories – On a local filesystem • Typically used for a single developer • Accessed via direct file read/write access • Requires that users have local accounts • Uses filesystem and user/group security – On a remote system • Accessed via a HTTP or HTTPS connection • Does not require that users have accounts on the server • Use Apache style authentication Subversion concepts...
View Full Document

This note was uploaded on 11/02/2011 for the course COM SCI 35L taught by Professor Eggert during the Fall '11 term at UCLA.

Page1 / 51

Lecture4 - Change Management Week 4 Backporting a change...

This preview shows document pages 1 - 14. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online