2019ss-DSE-Web-Version Control

2019ss-DSE-Web-Version Control,第1张

概述1.Content and File Mangement(wikis) 主要讨论文件管理和版本控制,以cvs,svn和git为主,wikis的文件管理模式为补充 2.版本控制要解决的问题:   - Access control   - concurrent access   - update conflict   - error handling   - remote editing   - ve

1.Content and file Mangement(wikis)

主要讨论文件管理和版本控制,以cvs,svn和git为主,wikis的文件管理模式为补充

2.版本控制要解决的问题:

  - Access control

  - concurrent access

  - update conflict

  - error handling

  - remote editing

  - versioning

  - recovery of old version

  - time-dependent publication

3. Revision control systems

  software for management and monitoring document and software revision. Primarily concerned with recovery of former revisions,storing,versioning and locking of project files or directorIEs.

  修复管理系统负责管理文档和软件的修订。主要关注于恢复历史版本,保存,版本控制以及对项目文件和文档的访问控制。主要有CVS,SVN,Git为版本

4. CategorIEs of Revision Control Systems

  - Local Version Control

  - Centralized Version Control Systems

  - Decentralized Version Control Systems

   首先就结构上而言,local version control顾名思义就是local version database,Centralized version control systems就是有个central version database server 提供中心化的版本控制,参与者只能导出version; decentralized version control systems 就是去中心化的版本控制,提供版本交换。

5. CVS(concurrent versions system)

  - 结构上CVS是中心化的版本控制,centralized version control.

  - component:

    - repository (仓库):

      - central storage for all raw files which are under RC

       (首先中心仓库管理所有raw files )

      - each raw file is converted to a history file(*,v) that contains recovery        information and the concurrent revision

       (所有raw files 被转换成历史版本,携带了历史恢复信息和当前版本)

      - ProvIDes a "CVSROOT" directory containing additional Meta-information

      (提供了CVSROOT包含了Meta-information)

    - SandBox(沙箱):

      - a working directory containing specific checked-out revisions

      (一个工作目录包含特别的检出版本)

      - a sandBox is created by the "cvs checkout" command,thereby specific revisions        of raw files are created with the help of the history files

      (工作目录是由checkout命令,因此特定的检出文件在历史文件下被创造)

 

      - every directory in a CVS-SandBox has a "CVS" directory,which contains        management files provIDing e.g. information about current revision number or        checked-out time 

(每个文件夹在工作目录下都有一个cvs文件夹,包含了管理文件提供了当前修订版本,检出时间)

  - selected mechanism

    - versioning(分配版本号当有改动,历史文档的存在可以有利于客户端检出各种版本,入和出)

       - Allocation of revision numbers for every modification of a source file which is         registered in the repository by the "cvs commit" command

       - due to the history information containing in history files all revisions are         available and accessible,thereby clIEnts can load varIoUs revisions from the         repository(via "cvs checkout" or "cvs export" methods - same effect like         checkout but no mangament files are created)

    - merging (冲突出现需要手动处理)

       - is a mechanism for joining two different revisions of the same file(if the same         line are edited a conflict occurs that has to be solved by the developers         manually)

       - The "cvs update" proofs whether new revisions exist in the repository and,if         this is the case,trIEs to merge these different revisions.

    - tagging

        - provIDes a possiblity for creating a kind of symbolic linkage of varIoUs files          and their revisions

        - it is necessary to create a tag(e.g. release_1_0) on a particular revision of a          file

        - it is possible to checkout concrete tagged revisions annotated(注解)by          these meaningful Tags

        - each tag is unique within a history file

    - locking 

        - cvs provIDes a way to set an explicit commit lock on a revision and while          the commit lock is active other users are not able to commit a revision of          the particular file

    - branching 

        - cvs tag -b branch1

        - cvs update -j (merge branch and master)

  - central shortcomings:

    - not support directory versioning,

    - commit is not atomic: is run for every file separately and when there is conflict       regarding one file,other files are commited besIDe the file contianing the conflict,      so inconsistent repository state 

    - No self-defined propertIEs(Metadata information)

    - management of Tags and branches is difficult and resource intensive 

    - no efficIEnt storing of binary files

 

5. SVN subversion system

  to solve shortcomings of cvs

  - Tags and branches

    - realised by copying the revisions to an extra folder

      - the "svn copy" method does not copy the files physically to a folder- reference        to the original data is created

      - files and dictorIEs can be copIEd

      - if a copy is modifIEd,only the differences are stored.

6. Git

  - decentralized version control system

  - optimized for nonlinear development and branching

  - Typical variants of version control systems realise versions by tracking changes to an    original version of each file

  - create with every commit a new snapshot of the versioned files: and use SHA! hash of     concatenated hashes of versioned files are used as IDentifIErs

  - link to prevIoUs file,if files are not changed,a link to prevIoUs file is stored

  - Branching

    - a branch in git is a reference to a snapshot

    - every branch has a name. The main branch is named "master". One brach is always     the active one = marked by the head reference

    -git branch BUGfix

    - git checkout BUGfix(BUGfix is activated)

    - git commit (commit changes to active branch)

  -merging

    - merging is done into the active branch:

    - git checkout master

    - git commit 

    - git merge BUGfix (merge BUGfix into active branch)

  - remote branches

    contains remote canonical project repository

    - git clone [email protected]/repo.git

    local repository,two branching

    - origin/master  and the master branch are pointing to the origin‘s master branch

    - git fetch

    changes done by others in the remote repository can be transferred to the local     repository via the Git command "fetch"

  - distributed workflows

    - git enables distributed software development workflows with several hIErarchical      levels

7. Content

  - content basically consists out of three components:

    - structure information

      - defines the composition,sequence and encapsulation of raw data

    - data raw

      - composed according to the structure

    - layout information 

      - formal specification for presentation on a potential output medium

  - content lifecycle - CMS functionalitIEs

    - creation(authoring,authentication,check-in/check-out,WYSIWYG,multi-user     ability)

    - Organissation(user management,workflow/quality protection,page integrity/link     management,log functionality)

    - publishing(presentation,personalisartion,multi-channel-output,portal function)

    - archiving(retrIEval,backup/rollback,version management)

    - content phase: deals with collection,creation and editing or the content

    - organisation phase: deal with quality check and clearing of the content for       publication

    - publication phase: deals with publication of the content in intra- or internet

    - archiving phase: after removing the content from the network,content can be stored      in the content repository for documentation purpose or future usage

 

    

  -example for a wIDespread CMS: TYPO3

    - for configuration of TYPO3 TypoScript is used 

      - TypoScript is a declarative language

      - conversion of typoscript into HTML by PHP logic

      - area of application:

        - designing+integration of templates(front-end = publish web site)

          -pure ts-template

          - HTML-template +TS

        - configuration of the back-end(administration + content mangement area)

          - user/user group propertIEs(User TSConfig)

          - page propertIEs(page TSConfig)

    - separation of structure,layout and raw data  

      - PAGE object builds a framework for embedding further content

      - content object array is created and put to position 20 of the page

      - COA is wrapped into HTML table row elements

      - Abbreviatory Syntax for assigning values to positions

      - After creating an image object a file is associated with it

 

8. Wikis

  - software systems that allow users to easily generated,interconnect,edit pages and that   can be used to create collaborative web site

  - support basic features of CMS

    - separation of structure,layout and raw data

    - integrated editing functionality

    - version management,history mechanism,retrIEval of former versions

  - provIDe often special wiki Syntax for formatting purposes and link creation

  - can be used as a means for group communication

  - varIoUs wiki engines available

  - semantic wikis

   - enable enCoding of semantic data within regular wiki pages

   - provIDe possiblitIEs to annotate pages with meaningful relations to other pages and     with attributes

   - data can be used for semantic search (inline querying tools are available)

   - provIDe RDF export functionality

  "subject"+"predicate"+"object"

总结

以上是内存溢出为你收集整理的2019ss-DSE-Web-Version Control全部内容,希望文章能够帮你解决2019ss-DSE-Web-Version Control所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1066320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存