Source control: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[http://leaver.servemp3.com/wiki/photo-engraving.html photo engraving] [http://scrowl.servemp3.com/topic/mexican-culture.html mexican culture] [http://plays.servemp3.com/description/dvd-r.htm dvd r] [http://plays.servemp3.com/description/duo-maxwell.htm duo maxwell] [http://copied.servemp3.com/text/custom-printed.html custom printed t-shirts] [http://aeolus.servemp3.com/bass-fishing.html bass fishing] [http://leaver.servemp3.com/wiki/bmx-videos.html bmx videos] [http://scrowl.servemp3.com/topic/wal-martcom.html wal mart.com] [http://leaver.servemp3.com/wiki/wood-carving.html wood carving] [http://copied.servemp3.com/text/car-values.html car values] [http://circum.servemp3.com/blog/pixar.html pixar] [http://scrowl.servemp3.com/topic/anxiety-disorders.html anxiety disorders] [http://leaver.servemp3.com/wiki/anna-nalick.html anna nalick breathe] [http://leaver.servemp3.com/wiki/discount-pharmacy.html discount pharmacy] [http://nonino.servemp3.com/article/toy-store.html toy store] [http://furor.servemp3.com/new/apollo-11.html apollo 11] [http://begin.servemp3.com/blog/middle-aged.html middle aged] [http://circum.servemp3.com/blog/prejudice.html prejudice] [http://scrowl.servemp3.com/topic/quim.html quim] [http://aeolus.servemp3.com/discount-magazine.html discount magazine subscriptions] [http://furor.servemp3.com/new/cars-and-girls.html cars and girls] [http://begin.servemp3.com/blog/point-of-sale-systems.html point of sale systems] [http://nonino.servemp3.com/article/gambling-supplies.html gambling supplies] [http://wiving.servemp3.com/movistar.htm movistar] [http://leaver.servemp3.com/wiki/free-ringtones.html free ringtones verizon] [http://copied.servemp3.com/text/southwest-airlinescom.html southwest airlines.com] [http://begin.servemp3.com/blog/home-school.html home school curriculum] [http://aeolus.servemp3.com/express-jeans.html express jeans] [http://begin.servemp3.com/blog/music-stores.html music stores online] [http://scrowl.servemp3.com/topic/business-process.html business process management] [http://circum.servemp3.com/blog/teen-videos.html teen videos] [http://copied.servemp3.com/text/nursing-diagnosis.html nursing diagnosis] [http://circum.servemp3.com/blog/american-blinds.html american blinds] [http://furor.servemp3.com/new/how.html how] [http://copied.servemp3.com/text/uta.html uta] [http://wiving.servemp3.com/naics.htm naics] [http://scrowl.servemp3.com/topic/prophet.html prophet] [http://plays.servemp3.com/description/arizona-lottery.htm arizona lottery] [http://furor.servemp3.com/new/wedding-ring.html wedding ring] [http://plays.servemp3.com/description/family-crests.htm family crests] [http://scrowl.servemp3.com/topic/brazil-bank-heist.html brazil bank heist] [http://aeolus.servemp3.com/crutches.html crutches] [http://leaver.servemp3.com/wiki/linda-lusardi.html linda lusardi] [http://wiving.servemp3.com/lora.htm lora] [http://wiving.servemp3.com/pokemon-fire.htm pokemon fire red] [http://circum.servemp3.com/blog/live-web-cam-chat.html live web cam chat] [http://copied.servemp3.com/text/discount-tanning.html discount tanning lotion] [http://scrowl.servemp3.com/topic/shrink-tunnel.html shrink tunnel] [http://leaver.servemp3.com/wiki/amateur-soccer.html amateur soccer] [http://furor.servemp3.com/new/chicks-dig-it.html chicks dig it] [http://copied.servemp3.com/text/peeping-tom.html peeping tom] [http://copied.servemp3.com/text/campgrounds.html campgrounds in nh] [http://aeolus.servemp3.com/snes-roms.html snes roms] [http://scrowl.servemp3.com/topic/otters.html otters] [http://copied.servemp3.com/text/fireworks.html fireworks] [http://scrowl.servemp3.com/topic/rug.html rug] [http://aeolus.servemp3.com/bow.html bow] [http://plays.servemp3.com/description/julie-roberts.htm julie roberts] [http://leaver.servemp3.com/wiki/south-west.html south west] [http://aeolus.servemp3.com/amphetamines.html amphetamines] [http://scrowl.servemp3.com/topic/bobby-vinton.html bobby vinton] [http://begin.servemp3.com/blog/tequin.html tequin] [http://begin.servemp3.com/blog/tiger.html tiger] [http://scrowl.servemp3.com/topic/beast-love.html beast love] [http://leaver.servemp3.com/wiki/decorative-wall.html decorative wall mirrors] [http://furor.servemp3.com/new/lsassexe.html lsass.exe] [http://plays.servemp3.com/description/design-build.htm design build] [http://nonino.servemp3.com/article/mortgage-broker.html mortgage broker] [http://copied.servemp3.com/text/long-hard-nipples.html long hard nipples] [http://circum.servemp3.com/blog/cicero.html cicero] [http://furor.servemp3.com/new/floor-mat.html floor mat] [http://circum.servemp3.com/blog/omarion-o.html omarion o] [http://furor.servemp3.com/new/crap.html crap] [http://copied.servemp3.com/text/nextel-ring-tones.html nextel ring tones] [http://plays.servemp3.com/description/livermore-real.htm livermore real estate] [http://nonino.servemp3.com/article/brujeria.html brujeria] [http://wiving.servemp3.com/t-mobile.htm t mobile] [http://plays.servemp3.com/description/faux-finishes.htm faux finishes] [http://wiving.servemp3.com/melon.htm melon] [http://begin.servemp3.com/blog/question.html question] [http://copied.servemp3.com/text/yamaha-warrior.html yamaha warrior] [http://scrowl.servemp3.com/topic/free-power-point.html free power point templates] [http://circum.servemp3.com/blog/costa-rican.html costa rican] [http://plays.servemp3.com/description/europa.htm europa] [http://scrowl.servemp3.com/topic/atb.html atb] [http://circum.servemp3.com/blog/whitsunday-islands.html whitsunday islands] [http://leaver.servemp3.com/wiki/heidi-klum.html heidi klum] [http://begin.servemp3.com/blog/scouts.html scouts] [http://circum.servemp3.com/blog/head.html head] [http://nonino.servemp3.com/article/panty-pictures.html panty pictures] [http://leaver.servemp3.com/wiki/worldmap.html worldmap] [http://wiving.servemp3.com/desire-resort.htm desire resort] [http://copied.servemp3.com/text/game-table.html game table] [http://copied.servemp3.com/text/star-wars-gangster.html star wars gangster rap] [http://circum.servemp3.com/blog/alfredo-sauce-recipe.html alfredo sauce recipe] [http://scrowl.servemp3.com/topic/nba-players.html nba players] [http://aeolus.servemp3.com/jaws.html jaws] [http://circum.servemp3.com/blog/astm.html astm] [http://circum.servemp3.com/blog/narwhal.html narwhal] [http://circum.servemp3.com/blog/shot.html shot]
{{DISPLAYTITLE:Introduction to Source Control}}
{{Stub}}
[http://en.wikipedia.org/wiki/Revision_control Source control] refers to a
management system that helps control how information changes. For example, a
source control system might be used in a software project to help mitigate some
of the hazards of having developers work in parallel or to provide easy
roll-back and branching functionality (for when development decides to go in  
another direction).


Source control is a process where different versions of code are merged into a single codebase.  
 
The remainder of this article gives a brief introduction to source control and
talks a little about the Source SDK relevant issues.
 
 
== Overview ==
 
A software source control system will typically manage a collection of files and
directories, which we will call ''items''. It often associates such a
collection with something called a ''repository''. You can think of a repository
as something like a warehouse where all your code is "bagged-and-tagged".
 
 
As a user makes changes, such as adding, removing, and modifying items, the
system will monitor the changes and provide this information in a ''status''
report. When a user is satisfied with the changes they have made and with the
status, they can ''commit'' their changes to the repository. A user will
typically provide a short description of the collection of changes that they are
committing during the commit process. These messages, along with their
corresponding ''revision numbers'', can be viewed in the repository's ''log''.
 
 
Revision numbers provide an easy way to refer to the repository at an earlier
point in time. The repository can be restored to an earlier revision, called a
''roll-back''. A separate path of development can be created in the same
repository at a given revision, called a ''branch''. Branches can be
consolidated together or with a central development ''trunk'' by ''merging''
them. A repository can be copied and made independent up to a given revision,
called a ''fork''. Also, differences in files can be inspected by referencing
revision numbers.
 
== Technology ==
 
Common systems today operate in a client-server or peer-to-peer way. These
systems typically provide networked functionality. Many may also be operated
offline and/or in a completely local capacity. Local only solutions do exist,
though the core technology is typically older. For more detail, see
[http://en.wikipedia.org/wiki/Revision_control wikipedia].
 
 
== Source SDK ==
 
Valve will periodically update the Source SDK code base. This may or may not
introduce conflicts with mod projects that have already modified code that
was updated. Source control doesn't make these conflicts magically disappear,
but they do provide a powerful way to deal with these issues in a safe and
controlled manner.
 
 
<u>'''It is strongly recommended and encouraged that mod developers use source control in their projects.'''</u>
 
 
Valve uses Perforce as their source control solution. Other common solutions are Git, Hg (Mercurial), and SVN (Subversion), just to name a few. The
following are more detailed articles on using a particular source control
technology to manage a Source SDK project.
 
 
=== Getting Started ===
 
* [[Using Source Control with the Source SDK|Using Perforce for Source Control with the Source SDK]] (This is the original getting started guide)
* [[Using Subversion for Source Control with the Source SDK]]
* [[Using Git for Source Control with the Source SDK]]


== See also ==
== See also ==
* [[Diff And Patch]]
* [[Diff And Patch]]
* [[Using Source Control with the Source SDK]]


[[Category:Glossary]]
 
[[Category:Programming]]
<!-- This comment is 80 characters wide. -------------------------------------->

Latest revision as of 16:22, 10 April 2023

Source control refers to a management system that helps control how information changes. For example, a source control system might be used in a software project to help mitigate some of the hazards of having developers work in parallel or to provide easy roll-back and branching functionality (for when development decides to go in another direction).


The remainder of this article gives a brief introduction to source control and talks a little about the Source SDK relevant issues.


Overview

A software source control system will typically manage a collection of files and directories, which we will call items. It often associates such a collection with something called a repository. You can think of a repository as something like a warehouse where all your code is "bagged-and-tagged".


As a user makes changes, such as adding, removing, and modifying items, the system will monitor the changes and provide this information in a status report. When a user is satisfied with the changes they have made and with the status, they can commit their changes to the repository. A user will typically provide a short description of the collection of changes that they are committing during the commit process. These messages, along with their corresponding revision numbers, can be viewed in the repository's log.


Revision numbers provide an easy way to refer to the repository at an earlier point in time. The repository can be restored to an earlier revision, called a roll-back. A separate path of development can be created in the same repository at a given revision, called a branch. Branches can be consolidated together or with a central development trunk by merging them. A repository can be copied and made independent up to a given revision, called a fork. Also, differences in files can be inspected by referencing revision numbers.

Technology

Common systems today operate in a client-server or peer-to-peer way. These systems typically provide networked functionality. Many may also be operated offline and/or in a completely local capacity. Local only solutions do exist, though the core technology is typically older. For more detail, see wikipedia.


Source SDK

Valve will periodically update the Source SDK code base. This may or may not introduce conflicts with mod projects that have already modified code that was updated. Source control doesn't make these conflicts magically disappear, but they do provide a powerful way to deal with these issues in a safe and controlled manner.


It is strongly recommended and encouraged that mod developers use source control in their projects.


Valve uses Perforce as their source control solution. Other common solutions are Git, Hg (Mercurial), and SVN (Subversion), just to name a few. The following are more detailed articles on using a particular source control technology to manage a Source SDK project.


Getting Started

See also