logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

Your task is to develop a small program while maintaining your development history with Apache Subversion

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

1 Task

Your task is to develop a small program while maintaining your development history with Apache Subversion (svn

Please make sure to use direct repository access (file://) in all svn commands when addressing the repository.

Please perform the following steps (don’t forget to copy your OS/svn/compile/doxygen commands to your text file):

S1) Create a new directory called 123456. Within this directory, create three  directories named “mysvn”, “mycode” and “mybranch”.

S2) Within the mysvn directory create an empty svn repository called “myapp” for

your svn project (don’t forget that you do not modify files in the repository directly - always use svn commands to interact with the repository).

S3) Make sure to import (empty) sub-directories “trunk”, “tags” and “branches” into

your repository.

S4) Change to directory mycode and checkout the (empty) trunk folder from your repository.

S5) In the checked out trunk directory create files “myapp.c”, “myfunctions.c”, “myfunctions.h” and “Makefile” with the following content:

myfuncions.c contains a simple function that receives a name as parameter

and simply prints ”Hello name” to the screen (where name is replaced

with the passed parameter).

myfunctions.h contains an include guard and a declaration for the function defined in myfunctions.c.

myapp.c #includes myfunctions.h and contains a main() function that prompts the user for a name and calls the function in myfunction.c with the entered name.

Makefile contains a makefile for your application (I will use this to compile your program!). Make sure to use separate compilation - each source file should have a target that creates a coresponding object file. Also provide a target that links these object files into the final executable program. Invoking make without a target should create the executable program and also run the program. Do not use implicit rules!

 Use svn to add these files to your repository (do not commit yet).

S6) Add doxygen comments to your code, create a doxygen configuration file (Doxyfile) for HTML output and create your doxygen documentation (do not add the created documentation to your repository).

S7) Add a target called “html” to your makefile that generates the HTML documentation. Make sure that invoking make without a target will now also create the HTML documentation (in addition to compiling and running the program). Use make to generate the HTML documentation.

S8) Compile and test your program - if it is working correctly, commit your code to

your repository using log message “first program working”.

S9) Modify your function in myfunctions.c: Change the output to ”Hello name my name is myName”, where myName is your name. Compile and test your

application - if it is working correctly, commit your code to your repository using

log message “second program working”.

S10) Create a tag for your solution in the repository’s tag folder - use name “release1- 0” for your tag.

S11) Create a branch of your program in the repository’s branches folder and name this branch “newdevelopment”.

S12) Go to the mybranch directory and check out your newly created branch

“newdevelopment”.

S13) Add a function double printFractions(int max) to the branch’s file myfunctions.c and add a corresponding declaration to myfunctions.h. This function uses a for- loop to print fractions 1/i for i from 1 to max (both inclusive) and also their corresponding floating point value (i.e. first two lines will be “1/1 = 1” and “1/2

= 0.5”). Further, this function returns the sum of all created floating point values. Add a function call to this function to main in myapp.c. Compile and test your branch - if everything is working, commit your changes to your branch (please make sure you did not modify the previous function in any way) using log message “initial branch version”.

S14) Comment your new function for doxygen and create the updated html documentation.

S15) Change back to the mycode directory and change the output of the “hello” function to ”Hello name my name is myName - nice to meet you”. Compile and

 test your application - if it is working correctly, commit your code to your

repository using log message “update number 1 to trunk”.

S16) Change back to the mybranch folder and make sure to bring your branch in sync with the last modifications to the trunk - i.e. merge your trunk into your branch. If you encounter a conflict (you shouldn’t), try to resolve it but make sure that the modifications from the trunk will get into your branch.

S17) Compile and test your branch - if it is working correctly, commit your code to your repository using log message “branch in sync with update number 1 to trunk”.

S18) Create a tag for your branch in the repository’s tag folder - use name “branch1- 0” for your tag.

S19) Add a new function to your branch’s myfunctions.c file that recieves a name as parameter and prints “Goodbye name - it was nice to meet you”. Don’t forget

to declare this function in the header file. Add a function call to this function to main in myapp.c. Compile and test your branch - if everything is working, commit your changes to your branch using log message “updated branch version”.

S20) Comment your new function for doxygen and create the updated html documentation.

S21) Change back to the mycode folder and make sure your trunk is up-to-date. S22)

Reintegrate your branch into your trunk.

S23) Compile and test your trunk. If everything is working commit with log message

“trunk updated to branch”.

S24) Remove the now useless branch from the repository.

S25) Create a tag for your trunk in the repository’s tag folder - use name “release2-0”

 

(5/5)
Attachments:

Expert's Answer

492 Times Downloaded

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

492 Times Downloaded

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

539 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

606 Answers

Hire Me
expert
Husnain SaeedComputer science

770 Answers

Hire Me
expert
Atharva PatilComputer science

987 Answers

Hire Me

Get Free Quote!

256 Experts Online